今日の人気記事

  1. 配列の要素を逆順に - array_reverse()
  2. ディレクトリを作成 - mkdir()
  3. 文字列の長さを取得 - strlen()、mb_strlen()
  4. 文字列のエンコーディングを変換 - mb_convert_encoding()
  5. セッション名の取得・設定 - session_name()

ヒアドキュメント

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

ここでは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. PHPスクリプト - 基本的な記述方法 - 書き方の基本
  3. require、require_once - ファイルの取り込み
  4. ファイルの読み込み
  5. 日付 / 時刻の取得と表示
  6. ヒアドキュメント

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