【发布时间】:2018-03-21 21:57:41
【问题描述】:
我通过 PHP 编程注意到字符串插值 ("blah blah ${foo}") 仅适用于双引号字符串 ("...")。
例如,这条线会起作用:
$bar = "foo";
echo "I like ${bar}";
>> I like foo
但这个不会:
$bar = "foo";
echo 'I like ${bar}';
>> I like ${bar}
我知道PHP Manual 谈到了插值仅在此类字符串中起作用的事实,但它没有解释为什么选择以这种方式工作。
这就是我的问题 --- 为什么字符串插值仅适用于 PHP 中的双引号字符串?
【问题讨论】:
-
在 PHP 中,双引号内的任何内容在输出之前都会被解析,单引号内的任何内容都会被视为字符串。
-
更好的问题可能是谁认为反引号 (execution) 运算符是个好主意?
标签: php string string-interpolation