この章ではヒアドキュメントについて説明します。
普通の文字列はダブルクォートやシングルクォートで囲まれたものですが、この他に以下の構文のようにから最後のまでを文字列として扱う手法もあります。 識別子名には自由に決めた名前を付けてください。
初めの識別子をダブルクォートで囲むと変数が展開され、シングルクォートで囲むと変数は展開されません。
また、ヒアドキュメントに変数を埋め込む時にはという形式で埋め込みます。
では例をみてみましょう。 「EOS」がダブルクォートで囲んであるので、ヒアドキュメントの中の変数は展開されます。
結果は以下の通りです。 次の例は先ほどの例を少し変えて、ヒアドキュメントを変数に入れてから出力しています。
このような事もできますので覚えておいてください。 次の例は最初の識別子を以下のようにシングルクォートで囲う方法で出力します。 結果は変数が展開されませんので、変数名がそのまま表示されます。 次はヒアドキュメントの注意点について説明します。 上のように最後の識別子の前後にスペースやコメントなどを置くことができません(エラーになります)。
しかし、最後の識別子の前後にスペースをおいてもエラーを起こさない方法があります。
それは「<<」と最初の識別子の間にを付けることです。
結果として、以下のように最後の識別子の前にスペースがあっても、エラーを起こさないで済みます。
では例をみてみましょう。
タグ: ヒアドキュメント
ヒアドキュメントを使おう
この章ではヒアドキュメントについて説明します。
ヒアドキュメントは何列もの長い文字列を出力する時やHTMLのタグを出力するのに便利な方法です。
例題を見てみましょう。
区切り文字に付ける名前は自由に付けてください。
始めの区切り文字から終わりの区切り文字までがヒアドキュメントになります。
ヒアドキュメントを使わないのであれば
と、print文を3個も書かなくてはなりません。
このようなときにヒアドキュメントで記述すると簡潔にプログラムを書けます。
ヒアドキュメントの書き方はprintやechoで直接出力するのか、もしくは一度$languageのような変数に入れてから後でprint やechoで出力するのかのどちらかの方法です。
具体的には以下のように書きます。 ヒアドキュメントにはいくつかのルールがあります。
〇で始まり、で終わりますが、最後にセミコロンを忘れないで下さい。 〇終わりの区切り文字の前にスペースを空けてはいけません。
必ず行頭に置いてください。 〇また、以下のように最後の区切り文字の後ろにコメントなどの文字を入れるのもだめです。 〇
からまではダブルクォートで囲ったのと同じ働きがあります。
ですので、のように書けばヒアドキュメンの中では変数展開をすることができます。
〇初めの区切り文字の右側にタブやスペースやコメントを入れてはいけません(エラーになります)。 補足ですが、PHPではHTMLのタグを以下のようにprintやechoで出力できます。
しかし、正直、HTMLのタグをすべてクォートで囲むのは面倒です。 そこで以下のようにHTML全体をヒアドキュメントに入れてしまうとダブルクォートなどで囲む必要がありませんので便利です。
ヒアドキュメントを使おう
この章ではヒアドキュメントについて説明します。
ヒアドキュメントは何列もの長い文字列を出力する時やHTMLのタグを出力する時に便利な方法です。
例を見てみましょう。 ヒアドキュメントの基本構文は以下の通りです。 「任意の名前」の箇所は自由に名前を付けてください。
ヒアドキュメントを使わないのであれば以下のようにprint文を3個も書かなくてはなりません。
このようなときにヒアドキュメントで記述すると簡潔にプログラムを書けます。 例のようにヒアドキュメントはprintで直接出力するか、もしくは一度$languageなどの変数に入れてから、後でprintで出力するかのどちらかです。 ヒアドキュメントにはいくつかのルールがありますので、順番に説明します。 初めのヒアドキュメントの名前の横にセミコロンを付けるのを忘れないでください。
また、先頭のヒアドキュメント名をダブルクォートで囲むと変数が展開されるのですが、シングルクォートで囲むと変数が展開されません。 終わりの「EO」の前後にスペースを空けてはいけません。
必ず行頭に書いてください。
また次のようにコメントを付けるのもエラーです。 次にHTMLのタグを出力する方法について説明します。
ヒアドキュメントはHTMLのタグを出力するのに便利な方法ですが、ヒアドキュメントを使わないと以下の通りHTMLのタグをすべてという形式で出力しなくてはいけません。
また、HTMLのタグを出力するにはCGIヘッダーをと書いてください。 以下のようにHTML全体をヒアドキュメントに入れてしまうとと書く必要が無いので楽に書けます。