2016-08-31 67 views
1

一个简单的问题。 有与我们正在进入一个数组值码:在php中插入数组

foreach($basket as $k=>$v) 
echo "{$v[0]['title']} <br>"; 



it prints to browser: 
book 1 
book 2 
etc... 

现在,如果我们删除括号像这样:

echo "$v[0]['title'] <br>"; 

它打印:

array['title'] 
array['title'] 
etc... 

所以翻译“看到”$v[0]这是一个数组是的。但他无法访问['title']

plz告诉新手,为什么会发生?我知道大括号内插变量的情况下,当有一些字母。但是这里没有字母。

回答

2

这是因为echo首先考虑$v[0]作为变量,然后打印它的STRING值,它是阵列然后['title']被解释为一个纯文本字符串。

+0

补充:插值“帮助”PHP知道应该插入哪些部分。在你的第一个例子中,你做得很对,你“展示”PHP应该插入整个数组/子数组。 –