文字列内で改行を表す特殊文字「\n」を改行として使用したい場合は、「”」を使用します。「”」は特殊文字を理解して改行します。ところが、「’」は「\n」を改行として表示せずにそのまま「\n」で表示します。
HTML内でPHPを使用する場合は「\n」を使用せずにbrタグで改行することになるため、あまり使用することがない「\n」ですが、ちょっとハマりやすい事ですから注意しましょう。
サンプルコード
<pre> <?php echo "*----------------* \n"; echo "*----hello------*\n"; echo "*----------------*\n"; ?> </pre> <pre> <?php echo '*----------------* \n'; echo '*----hello------*\n'; echo '*----------------*\n'; ?> </pre>
上のpre内が正しく改行されて、下のpre内は横に並びます。
PHPでは、ダブルクオテーションを使用して文字列を囲むと文字列内の変数を展開してくれます。ちなみに、Javascriptにはこの仕組みはありません。
文字列内で変数を展開するには変数名の前後に半角空白を入れる必要があります。そのため表示された文字列に不要な半角空白が含まれることになります。
それを回避するには変数を{ }で囲むことで解決できます。