工作好きな情報系の雑記

[PHP]複数行の長い文章を出力する

PHPで複数行の出力をしたい場合、ヒアドキュメントというものが役に立つ。
echoでも出力自体はできるが、エスケープや改行文字について注意を払わなければなくて少し面倒。

ヒアドキュメントなら、そういったものを考えることなく、出力したいものを記述できる。

以下のような感じね。

こうすると、

<div class="pankuzu">
<div id="breadcrumb">

と出力される。
ダブルクオーテーションのエスケープが必要ないし、改行の\nも必要ない。

ヒアドキュメント内では変数や配列、メンバ変数も使えるらしい。
変数はそのまま、配列やメンバ変数は{}で囲む必要があるようだ。

このサイトにあるように、うまいことやると関数も使えるらしい。

これは便利。

注意点としてはインデントできないということ。
インデントしてしまうと、インデントに使われたタブやスペースまでも出力されてしまうのだ。
ただ、今後のPHPのバージョンアップによってはこの問題が解消されるらしい…?
楽しみだ。

PHPでのヒアドキュメントの使い方…。 職業訓練の講義で教わったのは 1 : print や echo で使う print 〜複..
PHP ヒアドキュメントの使い方:2通り - すたら日記 - はてなダイアリー
モバイルバージョンを終了