※ ChatGPTを利用し、要約された質問です(原文:終端識別子 とは?)
PHPのヒアドキュメントとは?終端識別子について解説
このQ&Aのポイント
PHPでは、ヒアドキュメントという方法を使って複数行の文字列を利用することができます。ヒアドキュメントは、終端識別子を定義し、その終端識別子が出現するまでを文字列とします。終端識別子は行頭から始まり、空白を含めずに改行する必要があります。
ヒアドキュメントの中では、変数の展開やダブルクオートのエスケープが可能です。また、HTMLのテンプレートやコマンドラインのヘルプ文など、複数行の文字列を扱う場面で便利です。
ヒアドキュメントは、シングルクオートやダブルクオートと異なり、長い文章をシンプルに記述することができます。ダブルクオートのエスケープや改行の手間を省くことができます。
以下PHP参考書の ヒアドキュメント の説明すが、その中に、「終端識別子」とあります。
「終端識別子」とは何のことなのでしょうか!?
もし、以下の説明の中に「終端識別子」があるのでしたら、何にあとるのですか!?
私は読解力にかけるので分かりません!?
宜しくお願いいたします。
P61 ヒアドキュメント
PHPでは複数行又がる長い文字列を手軽に利用する方法として、シングルクオートとダブル
クオートのほかにヒアドキュメントという方法があります。ヒアドキュメントはヒアドキュメント
構文(<<<)のあとに終端識別子を定義し、その終端識別子が出現するまでを文字列とします。
終端識別子は必ず行頭から始まり、直前に空白(インデント)を含めず、すぐに改行する必要が
あります。また、ヒアドキュメントの中では、ダブルクオートと同様に変数が展開されます。また、ダ
ブルクオートはそのままダブルクオートになります。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<?php
$age = 15;
$foo = <<<EOI
ヒアドキュメントでは、このように、
複数行にわたる文章をそのまま表記することができます。
Tom の年齢は "$age" 歳です。
EOI;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
もちろん、ダブルクオートで通常の文字列を定義するように、複数行にまたがる文字列を定義す
ることもできます。しかし、文章の中にダブルクオートが含まれる長い文章などでは、いちいちダブル
クオートにエスケープ(\")が必要となり、これで不便な場合があります。ヒアドキュメントは、た
とえばHTMLのテンプレートを記述したり、コマンドラインのヘルプ文を作成するなどに役立ち
ます。
お礼
ご回答誠にありがとうございましした。 EOI が終端識別子 ですね^^
補足
プログラミングには向いていません。 分かっているって^^ ま~とくに、日本は法に違反する以外は、何しようが自由だし、とやかく言われる筋合いはないですが! はいどうぞ!