字符串中的数组元素

下面的代码是错误的,为什么?

<?php
$baz = array("value" => "foo");
echo "this is $baz['value'] !"; // this is foo !
?>

若改为

<?php
$baz = array("value" => "foo");
echo "this is {$baz['value']} !"; // this is foo !
?>

就可以.

阅读 2.5k
3 个回答

建议看看php语法。
大括号内的字符将作为变量来处理。所以第二种正确。第一种完全是字符串。

额,第一个例子中,他会认知变量$baz,认不到他是一个数组.数组在输出时,会直接报错,这个是根据你的报错级别来的.但是在第二种中,他会解析花括号里面的,因为PHP语法规定了的.双引号中,大括号里面的会解析成为变量.所以就能解析出来.

PHP 语法 单双引号区别,双引号中 解析变量用{} 括起来。
或者 你可以用这样的方式

 <?php
  $baz = array("value" => "foo");
  echo "this is ".$baz['value']."!"; // this is foo !
 ?>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题