【6日でできるPHP入門】ヒアドキュメント

 PHPで複数行にわたる文字列やHTMLをまとめて表示したいとき、「ヒアドキュメント(Heredoc)」構文がとても便利です。ヒアドキュメントを使うことで、複数行を1つのecho文や変数代入で扱えるため、長い文章やHTMLコードを記述するときに役立ちます。この記事では、ヒアドキュメントの使い方とポイントを、サンプルとともに分かりやすく解説します。

1.ヒアドキュメントの基本

1.1. ヒアドキュメントとは

ヒアドキュメントは、複数行の文字列を簡単に扱えるPHPの記法です。

用途記述例(簡略)
複数行のHTMLや文章の出力echo <<<ID ... ID;
複数行の変数への代入$text = <<<ID ... ID;

特徴

  • 文字列中に変数を展開できる(ダブルクォートと同じ動作)
  • 書式は必ず、<<<ID(IDは識別子)で始め、内容を書き、行頭でID;と閉じます

1.2. 基本的なヒアドキュメントの構文

構文例意味
<<<HTML ... HTML;HTMLや文章を複数行で記述できる

2.ヒアドキュメントの実践例

2.1. HTMLをまとめて出力する

サンプル1:ヒアドキュメントでHTMLを出力

ファイル名: lesson22_1.php

<?php
echo <<<EOM
<!DOCTYPE html>
<html>
<head>
    <title>ヒアドキュメントの活用例</title>
    <meta charset="UTF-8">
</head>
<body>
    <h1>ヒアドキュメントで作るページ</h1>
    <p>この文章はヒアドキュメントを使って表示しています。</p>
</body>
</html>
EOM;
?>

実行結果

解説

  • <<<EOM から EOM; までのすべての行が1つの文字列として扱われ、echoでまとめて出力されます。
  • ヒアドキュメント内では、HTMLタグや改行もそのまま記述可能です。

2.2. 変数の埋め込みも可能

ヒアドキュメント内で変数を使うと、自動的に値が展開されます。

ファイル名: lesson22_2.php

<?php
$name = "山田さん";
echo <<<DOC
<p>{$name}、ようこそPHPの世界へ!</p>
DOC;
?>

実行結果

3.ヒアドキュメントの書式と注意点

3.1. 書式のまとめ

項目内容
開始<<<識別子(例:<<<HTML
内容複数行の文字列やHTML
終了行頭に識別子のみ(例:HTML;
変数展開可能(ダブルクォートと同じように展開される)
セミコロン必須終了識別子の直後に;が必要

サンプル2:正しい書式例

ファイル名: lesson22_3.php

<?php
echo <<<NEWS
<h2>最新情報</h2>
<ul>
  <li>2025年夏 新機能をリリース予定</li>
  <li>公式サイトがリニューアルされました</li>
</ul>
NEWS;?>

実行結果

3.2. 識別子(ID)の注意点

  • 開始と終了で同じ大文字小文字・内容にすること
  • 終了識別子は行頭に書く(前にスペースやタブを入れない)

まとめ

  • ヒアドキュメントは、複数行の文字列やHTMLを簡単にまとめて扱えるPHPの便利な構文
  • 変数の展開も可能で、echoや変数代入でよく利用される。
  • 書式(開始・終了の識別子)や行頭の位置に注意して正しく使うこと。
  • 長文のHTMLやメール本文などを出力したいときに特に有効。

 ヒアドキュメントを活用すれば、PHPでのWebページ生成や複雑な文章の出力がよりスマートに記述できるようになります。