2010-11-02 55 views
0
echo "$gooshgoosh[$i]['num']"; 

有谁知道这里为什么回声PHP回声结构 - 数组问题

array['num'] 
+7

张贴更多内容的代码并观看你的语言。 – tplaner 2010-11-02 20:27:04

+0

回声不是一个函数,它是一种语言结构。 – netcoder 2010-11-02 20:28:37

+0

@evolve哈哈,“看你的语言”,好的工作奠定了法律。 :D – Sam 2010-11-02 20:46:56

回答

3

这是因为报价:PHP不明白,[“NUM”]是数组索引。试试这个:

echo $gooshgoosh[$i]['num']; 
6

PHP将只评估插值表达式到第一个数组索引,或第一次尝试解引用一个对象。这意味着,这些预期将无法正常工作:

echo "$array[id1][id2]"; // like "{$array[id1]}[id2]" 
echo "$object->obj1->obj2"; // like "{$object->obj1}->obj2" 

您可以强制PHP中使用大括号来评估整个表达式:

echo "{$array[id1][id2]}"; 
echo "{$object->obj1->obj2}"; 

你的具体情况,PHP正在评估"$gooshgoosh[$i]",从而解决到一个数组。数组到字符串的转换会产生字符串“array”,所以该字符串被替换为产生"array['num']"