【发布时间】:2025-12-19 20:15:16
【问题描述】:
我试图了解复杂变量语法中两种可能的语法变体之间的区别。 PHP 允许两种变体:
$foo = 'bar';
$bar = "${foo}bar is allowed"; //or
$bar = "{$foo}bar is allowed";
使用任一语法时都不会生成错误/警告/通知。我注意到两者之间没有区别,但是 PHP manual 仅显示 {$foo} 变体。
使用其他变体是错误的吗?它会给我带来什么问题吗?
【问题讨论】:
-
就个人而言,您示例的中间线具有误导性,我希望它被解释为
$foobar而不是barbar -
用户对手动输入的评论表明
{$..}的速度最低,php.net/manual/en/language.types.string.php#120160。 -
@Cutwow 这是一个很好的添加链接,但我不认为这是一个骗局,因为 OP 所询问的具体案例没有得到解决(至少没有任何深度)
-
@Phil 在重新阅读另一篇文章中的答案后,我知道我的错误在哪里。正如您提到的,OP 的问题在另一篇文章中没有深入解释。我将删除我之前的评论。
-
@Cutwow 仍然是一个很好的参考。感谢您添加链接。 编辑:此链接 ~ Curly braces in string in PHP
标签: php