はじめに

perlと同じく、PHPにもヒアドキュメント(HTML等の文章をそのままの形でスクリプト内に埋め込み、それを表示させる記述方法)の機能が具備されています。

実現方法

HTML等の文章をスクリプト内にそのままの形で保存し、それを標準出力に出力するには、以下のようにします。

サンプルコード
print <<< END_OF_TEXT
これはテスト用の文字列です。
そのままの形で出力されていますよね?

END_OF_TEXT;

このプログラムをコンパイル/実行した結果は、下記の通りです。

実行結果
これはテスト用の文字列です。
そのままの形で出力されていますよね?

上記の例では、「END_OF_TEXT」の行までのテキストをそのままの形で標準出力に出力しています。

テキスト文中に「END_OF_TEXT」というテキストが含まれると、実行時にエラーになりますのでご注意ください。

ヒアドキュメントを使って文字列を代入/追加する

ヒアドキュメントはprint文だけでなく、任意の文字列変数に対しても利用可能です。
変数「$tString」に対してヒアドキュメントで文字列を代入する場合には、下記のようにします。

サンプルコード
$tString =<<< END_OF_TEXT
これはテスト用の文字列です。
そのままの形で出力されていますよね?

END_OF_TEXT;

また、単純な代入だけでなく、変数への追記も下記のようにすれば可能です。
(代入符に「.」を付与しているだけの違いです。)

サンプルコード
$tString .=<<< END_OF_TEXT
これはテスト用の文字列です。
そのままの形で出力されていますよね?

END_OF_TEXT;

PHPでは、ヒアドキュメント文中にdefine値を入れても、defineした内容への置き換えがされなかったり、配列変数が展開されなかったりと、機能的には今ひとつです。
こういった現象が発生する場合には、一度変数に代入しなおし、その変数をヒアドキュメント内に記述するようにしてください。


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。