echo "$gooshgoosh[$i]['num']";
有谁在这里知道为什么回声
array['num']
答案 0 :(得分: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']"
。
答案 1 :(得分:3)
这是因为引号:PHP不理解,['num']是数组索引。试试这个:
echo $gooshgoosh[$i]['num'];