by shigemk2

当面は技術的なことしか書かない

PHPの閉じタグは使わないことが推奨されているようです

PHPの閉じタグは心の臓に悪いから使わないで - Unknown::Programming

タイトルそのままですが、
PHPは閉じタグ以降のデータ(というか範囲外のデータ)は全部HTMLとして出力される仕様なので、改行コードが表示されてしまうらしい。

例えばこんなのとか。

<?php
$a = 1;
$b = '1';
var_dump($a === $b);

?>

結果(改行コードが混ざっている!!)

bool(false)

こういうのとか、

<?php
$a = 1;
$b = '1';
var_dump($a === $b);

こういうの

<?php
$a = 1;
$b = '1';
var_dump($a === $b);

?>

とかは問題ない。

結果(改行コードが混ざらない)

bool(false)

でも、先頭が改行されていると、普通に改行コードが出力されたりします。

<?php
$a = 1;
$b = '1';
var_dump($a === $b);


結果

bool(false)

要するに、PHPの閉じタグは、なくても全く問題ないと。
というかむしろなくせ、と。