意外と出番が多いような気がするヒアドキュメント。PHPからHTMLを出力する場合などに便利☹
ヒアドキュメントとは?
ヒアドキュメントは、文字列リテラルを、シェルスクリプトやプログラミング言語のソースコード中に埋め込むための1つの方法である。
ヒアドキュメント – Wikipedia
らしい。
なんか難しいですが、長い文字列を変数に代入したり、出力する場合に使うものだと認識しています。
基本書式
PHP
<?php
$hoge = <<< 終了の文字列
ここに文字列を記載する
終了の文字列;
echo $hoge;
?>
※ 終了の文字列には大文字のアルファベットを使う。
EOM|EOF|EOD
上記をよく見ますが、実際は「ABC」でも「HOGE」でも何でも良い。ちなみに、下記がそれぞれの略。
- 名称
- 略
- EOM
- End Of Message
- EOF
- End Of File
- EOD
- End Of Document
普通に使う
PHP
<?php
$msg = <<< EOM
<div>this eom message.</div>
EOM;
echo $msg;
?>
出力結果
this eom message.
組み合わせて使う
ヒアドキュメント内でエスケープシーケンス(特殊文字)や変数を扱うことも可能。
PHP
<php
$hoge = '変数の中身';
$eod = <<< EOD
<pre>
これはヒアドキュメント。\n <= は改行。
変数「hoge」の中身は「 $hoge 」です。
</pre>
EOD;
echo $eod;
?>
出力結果
これはヒアドキュメント。 <= は改行。 変数「hoge」の中身は「 変数の中身 」です。
※ヒアドキュメント内の特殊文字と変数は展開される。