print_rを使ったデバック用の出力関数を使い作業をはかどらせる
print_rは便利ですが、ソースを覗かないと全容がつかみにくい状態になります。
print_r( [ "hoge", "hoge", "hoge", "hoge", "hoge", "hoge", "hoge", "hoge", "hoge", "hoge", "hoge", "hoge", "hoge", ] ); ↓ Array ( [0] => hoge [1] => hoge [2] => hoge [3] => hoge [4] => hoge [5] => hoge [6] => hoge [7] => hoge [8] => hoge [9] => hoge [10] => hoge [11] => hoge [12] => hoge )
例では単純な文字列の連続のため特に問題ありませんが、これが複雑な配列の組み合わせ、長文などが混じってくるとソースを開かないといけなくなります。何度もリロードしたり挙動を確認しながら、デザインと合わせてデバックが必要な場合は毎度毎度ソースを覗くのも面倒です。htmlタグである「<pre>」を同時に吐き出すデバック用関数を作ってしまいましょう。
function p( $target, $mode = 0, $head = 0 ) { $html = ""; if ( $head == 1 ) $html .= "<meta charset='UTF-8'/>n"; $html .= "<pre>n"; $html .= print_r( $target, 1 ); $html .= "</pre>n"; if ( $mode == 0 ) { echo $html; return; } return $html; }
使い方はprint_r()と全く同じで、「<pre>」タグを同時に出力するようになっています。p($str,1)というように指定すれば変数に入れる事が可能です。また、日本語を利用していると、ヘッダーコードを出力していないと文字化けの原因になるため、「p($str,0,1)」というようにすると、ヘッダーに文字コード指定タグを同時に出力するようにしています。
p()と入力するのも手軽なのでよく使う関数はこんな感じでまとめておくと作業がはかどります。