我试图从存储在父数组的单元格中的数组中回显单个元素。为了便于阅读,我们将调用父数组$ parent和子数组$ child。我想回应$ child的第二个元素。当我使用代码时:
echo "$parent[0][1]";
我得到数组到字符串转换错误,然后是文本“[1]”。据我了解,“$ parent [0]”应该被解释为$ child,因此以下[1]将从$ child请求第二个元素。显然,这种情况并没有发生,而且正在读取的唯一部分是$ parent [0]然后被抛回,因为该元素是一个数组。
此外,我的$ parent数组由一个循环函数填充,该函数从表中提取数据,因此将其元素保留为数字形式更为简单。具体而言,$ parent的每个元素都拥有一轮高尔夫的id#和日期,从一桌充满高尔夫球的桌子中取出。我的函数使用mysql_query和循环mysql_get_row将它们拉出来,然后存储在我的$ parent数组中。
我意识到这里有很多不必要的信息,但我希望它有助于避免在我的具体情况下无法解决的解决方案。我的基本问题是,如何从嵌套在另一个数组中的数组中回显一个元素。
提前致谢。
回答后编辑
以下答案完美无缺,但我也发现了一个肮脏的解决方法。将$ child数组分配给占位符然后从占位符打印工作,但它需要更多行代码并且看起来不漂亮。
例如
$holdArray = $parent[0];
echo "$holdArray[1]";
再次感谢您提供快速有效的回复。 SE社区一如既往。
答案 0 :(得分:1)
答案 1 :(得分:1)
echo "{$parent[0][1]}";
或echo $parent[0][1];
应该有效
如果您的数组是关联尝试,则为:echo "{$parent['foo']['bar']}";
或echo $parent['foo']['bar'];
答案 2 :(得分:1)
如果您的数组包含许多子数组并且您想要显示每个子数组,那么这是另一种解决方案。
foreach($parent as $child){
echo $child[1];
echo "<br>";
}
如果你的数组只包含单个子数组,你可以这样做:
$array = array(array(1,'edwards',"somesong.mp3"));
list($child) = $array;
echo $child[0]; // this will print 1
OR
echo $parent[0][1];