PHP ヒアドキュメントを見直す
おはようございます、リスターマークです。
今朝は目覚めてから鼻水が出ます。寒暖の差が出てきて朝は少し肌寒いですね。体調管理に気を付けて今日もやっていきます。
今回はヒアドキュメントについてです。
このヒアドキュメントとは、改行をふくむような長い文字列を表すのに適した記法であります。
たとえば完成の文章をこのようにします
今日は10月2日 曇り
最近涼しくなってきて、肌寒い時も出てきました。
毎日長袖にするか半袖にするか、出発時に迷ってしまいます。
今年も残り3か月ですね。
今年も色々な事件がありましたが、最後には
今年も本当にいい年でしたと笑えるようにしていきましょうね
"let's go enjoy"
↑このようにメッセージをブラウザーで表示する場合、
ヒアドキュメントを使わないとこうなります。
●ヒアドキュメントを使わないケース
<?php
echo '今日は10月2日 曇り <br/>';
echo '最近涼しくなってきて、肌寒い時も出てきました。 <br/>';
echo '毎日長袖にするか半袖にするか、出発時に迷ってしまいます。 <br/>';
echo '今年も残り3か月ですね。 <br/>';
echo '今年も色々な事件がありましたが、最後には <br/>';
echo '今年も本当にいい年でしたと笑えるようにしていきましょうね <br/>';
echo '"let\'s go enjoy"';
一行ずつにechoをつけていくことや、 let'goのところをエスケープ処理を行わないといけない点があります。
では、ヒアドキュメントを使うとこうなります。
●ヒアドキュメントを使う
<?php
$msg= <<<EOD
今日は10月2日 曇り <br/>
最近涼しくなってきて、肌寒い時も出てきました。 <br/>
毎日長袖にするか半袖にするか、出発時に迷ってしまいます。 <br/>
今年も残り3か月ですね。 <br/>
今年も色々な事件がありましたが、最後には <br/>
今年も本当にいい年でしたと笑えるようにしていきましょうね <br/>
"let's go enjoy"
EOD;
echo $msg;
<<<EODからEOD;までが文字列リテラルとして表示されます。
ヒアドキュメントを使ってない時との違いとして、1行ずつecho やクオートで囲むこともなければ、
エスケープ処理をする必要もありません。
ヒアドキュメントのやり方は、
①<<<EODからEOD;までを変数に代入する
②echo で変数を呼び出す。
このような感じで出来ます。
結構すっきりしますよね(^^♪
私はよく②のechoを忘れて、
「なんで表示されないんやー!!」って最初の頃、パソコンに訴えていたのを覚えてます。
あーはずかし(´◉◞౪◟◉)
変数や英語が混ざった文章を書くときにはヒアドキュメントを使うと便利ですね(^^♪
なお今回は 「<<<EOD EOD;」で行いましたが、EODのスペルじゃなくても開始と終了が対応していれば
適当に変更しても問題ないみたいです。
例えば
「<<<LOVE LOVE;」とか
「<<<BABY BABY;」とか・・
まあ、、大体の人が「<<<EOD EOD;」で文字列リテラルをされているので、
私もEODを使います。
そんな感じで、今日も一つでもアウトプットできてよかった。
これからも一つずつ焦らずアウトプットしていきます(^^♪
今日も最後までお読みいただきありがとうございました。