XHTMLを書く際には、最初の一行目でxml宣言をしないといけません。
FireFoxに怒られます。
しかし、時々何も出力していないのにechoとかしても、なぜか空行が入り3行目くらいから出力されてしまうことがしばしば。
なぜ、なぜ空行が入る・・・・・・っ!
と思っていたら単純な話でした。
<?php 〜〜〜〜 ?> <?xml ~~~~>
これは問題ないですよね。
<?php 〜〜〜〜 ?> <?xml ~~~~>
これは問題ありです。空行入ってますね。
まぁ、このくらいは誰でもわかるわけですが、コレがrequireしまくってるファイルとかだとすぐには気づけないわけで。
test1.php
<?php 〜〜〜 ?>
test2.php
<?php require test1.php ?> <?xml ~~~>
こうすると、出力する際にtest1.phpの無駄な空行まで読み込まれ、phpファイルはの外は普通に出力するので空行が入ってしまうという仕組み。
まあ、はじめから綺麗に無駄なスペースや改行を含めずにコーディングしていればまず遭遇しないお話ですが、別の誰かが作ったファイルに混じってる可能性も否めないので、知っておいて損はしないと思います。