phpのvar_dumpを見やすくする、おなじみのpreタグで挟むfunctionと、
配列のデータを全て、変数へ格納するfunction、
データをエスケープするhtmlspecialcharsが長いので、より簡単に記述したいと思いfunctionにしました。
もくじ
php関連記事
phpで10進数と16進数、2進数、8進数の変換と0埋め表記
WordPressの条件分岐タグでページを判別する
PHPでpreg_splitの文字化けを回避しながらテキストを改行ごとに区切ってHTMLメールをつくる
WordPressテーマアップロード時に「辿ったリンクは期限が切れています。 もう一度お試しください。」と表示される
PHPで画像アップロード時に比率を保ったまま縮小する
phpで郵便番号を正規表現で3桁・ハイフン・4桁で出力するfunction
phpで電話番号のハイフンを正規表現で出力するfunction
【MySQL】無いならINSERT、あるならUPDATEする、ON DUPLICATE KEY UPDATE構文
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(配列)
とするだけで、コードが短くなりデータのエスケープができるようになります。
コメント