phpのvar_dumpでデバッグ・htmlspecialcharsでエスケープ処理などfunctionまとめ

phpのvar_dumpでデバッグ・htmlspecialcharsでエスケープ処理などfunctionまとめ

phpのvar_dumpを見やすくする、おなじみのpreタグで挟むfunctionと、
配列のデータを全て、変数へ格納するfunction、
データをエスケープするhtmlspecialcharsが長いので、より簡単に記述したいと思いfunctionにしました。

php関連記事

関連記事をもっとみる

var_dumpで変数の値を出力する

php

var_dump($pre);

var_dumpの引数に変数を指定すると、変数の値をhtml上に出力されるので確認できます。
デバッグ方法としてよく利用されると思います。
配列でも確認できますが、そのままhtml上で表示すると、一行で表示されるため、中の構造が追いにくく分かりにくい形で出力されます。

var_dumpをpreタグで挟む

php

echo "<pre>";
var_dump($pre);
echo "</pre>";

preタグで囲んだ中でvar_dumpすれば、コードがそのまま表示されるので改行やインデントが行われた状態で表示できます。

var_dumpをpreタグで挟むfunction

php

function pre($pre) {
  echo "<pre>";
  var_dump($pre);
  echo "</pre>";
}

pre($_POST);

function化したので、pre(変数)とするだけで、コードが短くなり簡単に見やすくデバッグできるようになります。

データをエスケープするhtmlspecialcharsの使い方

php

htmlspecialchars($_POST, ENT_QUOTES|ENT_HTML5, 'utf-8');

第二引数でエスケープの方法を指定できるので、必ず指定しましょう。
ENT_QUOTESでダブルクオートもシングルクオートも両方エスケープします。
ENT_HTML5でHTML5として処理されます。
第三引数は、エンコードする文字コードを指定します。

基本これで固定でいいです。

htmlspecialcharsでデータをエスケープするfunction

php

function h($string) {
  return htmlspecialchars($string, ENT_QUOTES|ENT_HTML5, 'utf-8');
}

function化したので、h(変数)とするだけで、コードが短くなりデータのエスケープができるようになります。

配列のデータを全て、変数へ格納するfunction

php

function array_string ($array){
	$debug_array = '';
	foreach ($array as $key => $value) {
		$debug_array .= $key.' : '.$value.PHP_EOL;
	}
	return $debug_array;
}

配列で送信されたデータをメールなどのテキストで送りたい時などに使っています。
function化したので、array_string(配列)とするだけで、コードが短くなりデータのエスケープができるようになります。

コメント

タイトルとURLをコピーしました