ヒアドキュメント

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;
?>