PHP 改行方法 PHP_EOL
PHPから直接に出力したい際に、改行が必要となる場面があります。その際に、PHPの定義済みの定数:PHP_EOLを使えば便利ではないかと思います。
実際の実装を見てる限りに、世の中にPHP_EOLを知らないプログラマが結構いることが分かりました。その時に、PHP_EOLを使えば、もっとシンプルに実装ができるのに、残念。。。とつぶやいた。
例1:【\r\n】を使う
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $mail_body = "〇〇 △△様"; $mail_body .= "\r\n\r\n"; $mail_body .= "いつもお世話になっております。ステップです。"; echo $mail_body; ?> |
出力結果:
1 2 3 4 5 6 7 |
〇〇 △△様 いつもお世話になっております。ステップです。 |
【\r\n】も改行でき、使っても良いが、【”】や【\】を入力するのに、【PHP_EOL】より時間が掛かるかと思いますので、筆者はこの場合は使わないです。
同じ理屈で、【’】より【”】を筆者が使います。shift+2のほうが入力しやすいからです。まあ、個人のお好みです。
あと、複数改行したいときに、例1のように、【\r\n】がいっぱいがあって、訳が分からなくて読みづらい場面もあるかと思います。
例2:【EOF】を使う
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $mail_body = "〇〇 △△様"; $mail_body .= <<<EOF いつもお世話になっております。ステップです。 EOF; echo $mail_body; ?> |
【EOF】を使って改行もできますが、例1と比べたら、可読性が断然、例1のほうが良いと思います。これは、筆者は実際に読んでいた実装の例です。当時に少し驚いた。
例3:【PHP_EOL】を使う
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $mail_body = "〇〇 △△様" . PHP_EOL . PHP_EOL ; $mail_body .= "いつもお世話になっております。ステップです。"; echo $mail_body; ?> |
【PHP_EOL】を使ったら、可読性がアップしましたね。ちなみに、EOLはEnd Of Lineの略語です。
PHP_EOLは環境によって、改行コードは自動的に変わるんです。即ち、Windows環境では、PHP_EOL = 【\r\n】、同じ実装で、Linux環境に実行したら、PHP_EOLを【\n】に変えるんです。大変便利な定数と思います。使う機会があれば、是非、皆さんも使ってみてください。
最後ですが、PHP_EOLはファイルやメールに出力する時に使えば便利ですが、WEBアプリケーションにおいて、画面に改行メッセージを表示する場合、PHP_EOLを使えたら、かえって、不便となり、使い分けを注意してほしいです。詳しくは、PHP 画面メッセージ改行 をご参考ください。