🙄
PHP ヒアドキュメント構文
はじめに
PHPでの文字列リテラルは、4つの方法で指定することができますが、
そのうちのヒアドキュメント構文について記述します。
ヒアドキュメント構文とは
文字列を区切る別の方法としてヒアドキュメント構文 ("<<<") があります。この場合、ある ID (と、それに続けて改行文字) を <<< の後に指定し、文字列を置いた後で、 同じ ID (終端ID) を括りを閉じるために置きます PHPマニュアル
例文
これはテスト文章です。
これもテスト文章です。
それもテスト文章です。
例えば上記のような文字列を出力したい、htmlで表示したい場合、
通常のechoで記述すると、
echo "これはテスト文章です。\n これもテスト文章です。\nそれもテスト文章です。"
と改行コードを入れないと改行されません。
ヒアドキュメントであれば、
echo <<<EOM
これはテスト文章です。
これもテスト文章です。
それもテスト文章です。
EOM; //終了のこの文字列と、出だしの文字列を統一させる。
//ちなみにこの文字はなんでも良いらしい。EOMはよく使われる。(End Of Messageの略)
と記述することで、改行コードなく、出力されるものに近い形で入力することができます。スペースも同様に反映されます。
変数埋め込み
また変数も埋め込むことができるので、
$a = "テスト文章です。";
echo <<<EOM
これは$a
これも$a
それも$a
EOM;
で、例文と同様の表示になります。
また、
$test = <<<EOM
上記のようにして、echoで出力するだけでなく、変数に入れることも可能です。
if文などはは使えない
変数を埋め込むことはできますが、if文などの構文は埋め込むことができないようです。
さいごに
学習の際に見てはおりましたが、実際に使用することがなかったので忘れておりました。
長い文章を出力しなければならない時は便利そうです。
Discussion