備忘録として投稿。
・シングルクオーテーションとダブルクオーテーションの違いは、文字列内で変数やエスケープシーケンスを展開するかどうかにある。
・シングルクオーテーションで囲まれた文字列内では、変数の展開やエスケープシーケンスの解釈が行われず、そのままの文字列が表示される。
一方、ダブルクオーテーションで囲まれた文字列内では、変数の展開やエスケープシーケンスの解釈が行われる。
例えば、以下のようなコードがあったとする。
$name = "Alice";
echo 'Hello $name!'; // 'Hello $name!' が表示される
echo "Hello $name!"; // 'Hello Alice!' が表示される
このコードでは、シングルクオーテーションで囲まれた 'Hello \$name!' の部分では変数の展開が行われず、\$name という文字列として表示される。
一方、ダブルクオーテーションで囲まれた "Hello \$name!" の部分では、変数 $name の値である Alice が展開され、Hello Alice! という文字列が表示される。
◎余談
・nl2br() 関数は、改行文字 \n を <br> タグに変換する関数。
文字列中に改行文字がある場合、
ダブルクオーテーションで囲まれた文字列では改行文字が正しく変換されるが、
シングルクオーテーションで囲まれた文字列では変換されない。
したがって、シングルクオーテーションで囲まれた文字列内に改行文字が含まれる場合は、nl2br() 関数を使っても
タグに変換されない。