Jon*_*906 0 php string string-interpolation
我通过 PHP 编程注意到字符串插值 ( "blah blah ${foo}") 只能在双引号字符串 ( "...") 中工作。
例如,这一行将起作用:
$bar = "foo";
echo "I like ${bar}";
>> I like foo
Run Code Online (Sandbox Code Playgroud)
但这个不会:
$bar = "foo";
echo 'I like ${bar}';
>> I like ${bar}
Run Code Online (Sandbox Code Playgroud)
我知道PHP 手册谈到了插值仅在此类字符串中起作用的事实,但它没有解释为什么选择它以这种方式工作。
这就是我的问题——为什么字符串插值仅适用于 PHP 中的双引号字符串?
显而易见的答案是,有时您可能不希望在字符串中解释变量。
以下面的代码行为例:
$currency = "$USD";
Run Code Online (Sandbox Code Playgroud)
这会产生一个“未定义变量”通知,并且$currency是一个空字符串。绝对不是你想要的。
你可以逃避它("\$USD"),但是,嘿,那是一个错误。
因此,作为一项设计决策,PHP 选择插入双引号字符串,而不插入单引号字符串。
| 归档时间: |
|
| 查看次数: |
1688 次 |
| 最近记录: |