ヒアドキュメントに記述した変数名を展開しない「Nowdoc」

スポンサーリンク

記述した内容をそのまま表示できる点でヒアドキュメントは便利ですが、ヒアドキュメントの中に記述した変数が展開(値が出力される)されてしまうのが不便なときもあります。

<?php
echo <<<EOM
使う変数は$aです。
EOM;
?>
ヒアドキュメントで変数名の表示に失敗する

ヒアドキュメントで変数名の表示に失敗する

PHP5.3.0以降であれば、Nowdoc構文を使うと解決できます。ヒアドキュメントと同じように、指定した内容をそのまま出力できる機能ですが、その内容は、ダブルクォーテーションではなくシングルクォーテーション囲みの文字列として扱われます。つまり、変数名も展開せずにそのまま出力することができます。

Nowdocの書式はヒアドキュメントとほぼ同じですが、開始部分を「<<<'EOM'」のようにシングルクォーテーションで囲む点だけが異なります。

<?php
echo <<<'EOM'
使う変数は$aです。
EOM;
?>
Nowdocによる変数名の出力

Nowdocによる変数名の出力

PHPの基礎が身に付いたかチェックするなら

PHP「直す力」養成ドリル
スポンサーリンク