$ var和$ {var}之间是否有任何区别

时间:2012-05-27 21:58:53

标签: php

这两个“拼写”是否相同?只是想知道。

2 个答案:

答案 0 :(得分:6)

${var}脱离上下文可能是正确与否。如果它在"foo ${var} bar"之类的字符串中使用 - 则它是相同的。

如果在代码中使用它,则${var}不正确,而应使用${'var'}

使用${...}的有效案例是:

  1. "ab${cd}e"之类的字符串中 - 当所有字母都没有空格时"${a['b']}" - 当你将它与数组一起使用时

  2. 如果要动态组合变量名称:${'a_' . $i}

答案 1 :(得分:1)

差不多。唯一的区别是你可以在花括号之间输入要解析的代码,以获得“变量”变量名。

实施例

${'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';