PHPで複数行の出力をしたい場合、ヒアドキュメントというものが役に立つ。
echoでも出力自体はできるが、エスケープや改行文字について注意を払わなければなくて少し面倒。
ヒアドキュメントなら、そういったものを考えることなく、出力したいものを記述できる。
以下のような感じね。
1 2 3 4 |
echo <<<EOF <div class="pankuzu"> <div id="breadcrumb"> EOF; |
こうすると、
<div class="pankuzu">
<div id="breadcrumb">
と出力される。
ダブルクオーテーションのエスケープが必要ないし、改行の\nも必要ない。
ヒアドキュメント内では変数や配列、メンバ変数も使えるらしい。
変数はそのまま、配列やメンバ変数は{}で囲む必要があるようだ。
1 2 3 4 5 |
echo <<<EOF I love $food . I have {$tools[1]} . My skill is {$skill->name} . EOF; |
このサイトにあるように、うまいことやると関数も使えるらしい。
これは便利。
注意点としてはインデントできないということ。
インデントしてしまうと、インデントに使われたタブやスペースまでも出力されてしまうのだ。
ただ、今後のPHPのバージョンアップによってはこの問題が解消されるらしい…?
楽しみだ。
PHPでのヒアドキュメントの使い方…。 職業訓練の講義で教わったのは 1 : print や echo で使う print 〜複.. PHP ヒアドキュメントの使い方:2通り - すたら日記 - はてなダイアリー |