ヒアドキュメント
PHPで長い文字列を出力(または変数に代入)する際、文字列を連結する演算子「.」を使って、長々と記述するよりは、ヒアドキュメントを使った方が視覚的にも分かりやすい。
<?php $name="山田太郎"; $email="hogehoge@hoge.com"; $info="私の名前は".$name."です。メールアドレスは".$email."です。"; print $info; ?>
このスクリプトを実行すると、画面には「私の名前は山田太郎です。メールアドレスはhogehoge@hoge.comです。」と表示されます。
さらに情報が増えていったりしたら、「.」で繋げていくという作業が続きます。
そんなときに、ヒアドキュメントを使います。
<?php $name="山田太郎"; $email="hogehoge@hoge.com"; $info= <<< EOF 私の名前は {$name}です。 メールアドレスは {$email}です。 EOF; print $info; ?>
このスクリプトを実行すると、画面には先のサンプルと同じく「私の名前は山田太郎です。メールアドレスはhogehoge@hoge.comです。」と表示されます。
こちらの方が見た目にも分かりやすいし、情報が増えたときにもすんなり対応出来るかと思います。
気を付ける事は、EOF;の行です。
この行には、半角スペースやインデントを入れてしまうと、エラーになります。
ですので、EOF;のみを記述しましょう!
ちなみにEOFでなければいけないということはありません。自分で設定出来ます。
一文字目はアンダースコアか英字。二文字目からは数字も使えます。
出力が一行になるのが嫌だ! という場合は<pre>〜〜〜</pre>で囲うか、<br />タグを使いましょう!
preを使う場合
<?php $name="山田太郎"; $email="hogehoge@hoge.com"; $info= <<< EOF <pre> 私の名前は {$name}です。 メールアドレスは {$email}です。 </pre> EOF; print $info; ?>
brを使う場合
<?php $name="山田太郎"; $email="hogehoge@hoge.com"; $info= <<< EOF 私の名前は<br /> {$name}です。<br /> メールアドレスは<br /> {$email}です。<br /> EOF; print $info; ?>