为什么我不能在这里访问字符串中的数组元素?

时间:2016-10-18 14:48:25

标签: php arrays string

我有一个数组

$array = ['first'=>'hi','second'=>'bye'];

为什么以下语法不起作用

 echo " i wanna print $array['first']";

错误消息是

  

解析错误:语法错误,意外''(T_ENCAPSED_AND_WHITESPACE),   期待标识符(T_STRING)或变量(T_VARIABLE)或数字   

中的(T_NUM_STRING)

但是当我尝试

 echo "i wanna print $array[first]";

工作得很好。

有人可以解释单引号(')在这里产生的差异。以上错误究竟意味着什么,任何想法?

2 个答案:

答案 0 :(得分:-2)

使用:

echo "i wanna print ".$array['first'];

而不是

echo " i wanna print $array['first']";

答案 1 :(得分:-2)

这里php不能从双引号字符串解析多维数组,以实现在{}括号内引用数组变量的相同功能。

尝试以下代码行,它将正常工作。

echo " i wanna print {$array['first']}";

我希望这有助于你理解。