[PHP]複数行の長い文章を出力する
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のバージョンアップによってはこの問題が解消されるらしい…?
楽しみだ。
この記事へのコメントはこちら