PHP のヒアドキュメントでのインデントについて

PHP のヒアドキュメントの終端記号をインデントすると、ヒアドキュメント内からそのインデント分が削除されることを知りました。

ドットインストールの「詳解PHP 基礎文法編 (全34回) - プログラミングならドットインストール」を眺めていて、「#07 ヒアドキュメントを使ってみよう」で、今更ながらヒアドキュメントの終端記号をインデントすると、その分のインデントがヒアドキュメントから削除されるということを知りました。

つまり、

$test1 = <<<'EOD'
    test
EOD;

$test2 = <<<'EOD'
    test
    EOD;

echo $test1 . PHP_EOL;
echo $test2 . PHP_EOL;

こう書くと、下記のように出力されるということです。

// 出力結果
    test
test

今まで、ヒアドキュメント(nowdoc 含む)は便利だけどインデントが無くて見にくいなと思っていたので、目から鱗でした(笑

それにしても、最近の ドットインストール は、プレミアム会員に登録するとビデオ見ながらそのままブラウザでコードを実行できるので素晴らしですね。再生速度も速くできるし。何か新しいプログラムを学びたいと思ったら、まずはここをチェックすることをお勧めします。

以上です。

Published 2020-04-18
Updated 2020-04-18