🥰

シングルクォート(')とダブルクォート(")の違い

2022/05/02に公開

PHPで文字列を出力するには、シングルクォート(')か、ダブルクォート(")で囲みます。

echo 'TEST';
echo "TEST";

それでは、シングルクォート(')と、ダブルクォート(")で何が違うでしょうか?

それは、変数展開がされるか、されないかです。
変数展開とは、変数に代入されている値を出力することです。

$str = 'TEST';
echo '<p>This is $str.</p>\n';
echo "<p>This is $str.</p>\n";

どのような結果になるか自分で確認してみましょう。

シングルクォート(')と、ダブルクォート(")の違いは言語依存です

シングルクォート(')と、ダブルクォート(")の違いですが、これは言語依存です。
プログラミング言語の仕様は、作者の思想や好き嫌い、当時の時代背景や互換性の問題など、様々な理由で決まります。数学や物理法則のような、人間を超越したルールではないからです。

例えば、JavaScriptではどちらも同じ結果になります。

let str = 'TEST';
console.log(str, 'str', "str");

JavaScriptの場合は、文字列と変数を + でつなげる必要があります。

let str = 'TEST';
console.log('This is ' + str + '.');

ただし、バッククォートで囲むと変数展開されます。

let str = 'TEST';
console.log(`This is ${str}.`);

これはかなり便利なテクニックなので、覚えておいて下さい!

Discussion