
【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ページ生成や複雑な文章の出力がよりスマートに記述できるようになります。