{$var} 和 $var 有什么区别?

sic*_*a07 4 php string variables substitution

我想知道何时以及为什么应该使用 {$var}

echo "This is a test using {$var}";
Run Code Online (Sandbox Code Playgroud)

以及何时(以及为什么)我应该使用简单的形式 $var

echo "This is a test using $var";
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 5

当 a) 不访问对象或数组来获取值,并且 b) 变量名称后面没有可能被解释为变量名称一部分的字符时,您可以使用后者。


Law*_*one 5

http://php.net/manual/en/language.variables.variable.php

为了将可变变量与数组一起使用,您必须解决歧义问题。也就是说,如果您编写 $$a[1] 那么解析器需要知道您是否打算使用 $a[1] 作为变量,或者您是否想要 $$a 作为变量,然后使用 [1] 索引那个变量。解决这种歧义的语法是:第一种情况为 ${$a[1]},第二种情况为 ${$a}[1]。