这两个"拼写"等价吗?只是想知道。
脱离
上下文${var}
可能是正确的,也可能是不正确的。如果像 "foo ${var} bar"
一样在字符串内部使用它 - 那么它是相同的。
如果它在代码中正确使用 - 则${var}
不正确,应改用${'var'}
。
使用${...}
的有效情况包括:
- 在
字符串内部,例如
"ab${cd}e"
- 当所有字母都没有空格时,"${a['b']}"
- 当您将其与数组一起使用时当您要动态组合变量名时:
${'a_' . $i}
差不多。唯一的区别是您可以在大括号之间输入要解析的代码以获取"变量"变量名称。
前任。
${'t'.'e'.'s'.'t'} = 'test'; // is the same as $test = 'test';
${substr('testaaa',0,4)} = 'test'; // the same
您甚至可以执行以下操作:
${ 'a' == 'b' ? 'Foo' : 'test' } = 'test'; //the same
它本质上与:
$var_name = substr('testaaa',0,4);
$$var_name = 'test';