今日の人気記事

  1. 10進数 ⇔ 2進数変換 - decbin()、bindec()
  2. 比較演算子 - if、for、while の条件分岐に

ヒアドキュメント

当ページのリンクには広告が含まれています。

ここではPHPスクリプトの「ヒアドキュメント」について解説します。

「ヒアドキュメント」は長い文字列を変数に代入したり、出力する場合に使います。PHPスクリプトからHTMLを出力する場合などに便利なので手法なので、覚えておきましょう。

ヒアドキュメント

長い文字列を変数に代入する場合は以下のような書式で記述します。

<?php
$変数 = <<<終了の文字列

「文字列を記述」

終了の文字列;
?>
※ 終了の文字列には大文字のアルファベットを使います。よく見かけるのは「EOM」「EOF」「EOD」ですが、「ABC」でも何でも構いません。
ちなみに「EOM」は End Of Message、「EOF」は End Of File、「EOD」は End Of Document の略です。

サンプルスクリプト

それではヒアドキュメントのサンプルスクリプトをみてみましょう。まずは長い文字列を変数に格納するサンプルスクリプトです。

<?php
$str = <<<EOM
変数に
ながーーーーい文字列を
格納します。
EOM;

echo $str;
?>

実行結果です。変数に格納された長い文字列が出力されていますね。

変数に
ながーーーーい文字列を
格納します

次は長い文字列をそのまま出力する書式をみてみましょう。変数に格納するところが「echo」に変わるだけです。

<?php
echo <<<終了の文字列

「文字列を記述」

終了の文字列;
?>

それではサンプルスクリプトをみてみましょう。

<?php
echo <<<EOF
出力する
ながーーーーい文字列を
記述します。
EOF;
?>

実行結果は以下のようになります。

出力する
ながーーーーい文字列を
記述します。

ヒアドキュメント内での「エスケープシーケンス(特殊文字)」と「変数」の挙動を確認するサンプルスクリプトです。

<?php
$str_name = "太郎";
echo <<<ABC
ヒアドキュメント\nです。
こんにちは。$str_name だよ。
ABC;
?>

実行結果です。このようにヒアドキュメント内の特殊文字と変数は展開され、値が表示されます。

ヒアドキュメント
です。
こんにちは。太郎 だよ。

次は特殊文字と変数を展開しない「Nowdoc(Newdoc)」をみてみましょう。

文字列 の人気記事

  1. コメント
  2. require、require_once - ファイルの取り込み
  3. 連想配列

関連記事(一部広告含む)