PHPで文字列をかこむとき、シングルクォーテーション(')とダブルクォーテーション(")を同じように使う人がいるかもしれませんが、ふたつには決定的なちがいがあります。
同じだと思っていると痛い目にあいます。
ちがいの説明はかんたんです。1分もかかりません。
シングルクォーテーションとダブルクォーテーションのちがいは、
変数・エスケープ・文字コードが使えるかどうか
' | シングルクォーテーション | 使えない。 |
" | ダブルクォーテーション | 使える。 値に変換して出力。 |
サンプルコードでみてみましょう。
sample.php
<?php
$val = 'sample';
echo 'variable' . PHP_EOL;
echo 'single[' . '$val' . ']' . PHP_EOL;
echo 'double[' . "$val" . ']' . PHP_EOL . PHP_EOL;
echo 'escape' . PHP_EOL;
echo 'single-tab[' . '\t' . ']' . PHP_EOL;
echo 'double-tab[' . "\t" . ']' . PHP_EOL . PHP_EOL;
echo 'hex code' . PHP_EOL;
echo 'single-tab[' . '\x09' . ']' . PHP_EOL;
echo 'double-tab[' . "\x09" . ']' . PHP_EOL . PHP_EOL;
result
variable
single[$val]
double[sample]
escape
single-tab[\t]
double-tab[ ]
hex code
single-tab[\x09]
double-tab[ ]
シングルクォーテーションはそのまま文字列になっちゃいます。