3

我正在尝试从存储在父数组单元格中的数组中回显单个元素。为了便于阅读,我们称父数组为$parent,子数组为$child。我想从 $child 中回显第二个元素。当我使用代码时:

echo "$parent[0][1]";

我得到数组到字符串的转换错误,后跟文本“[1]”。据我了解,“$parent[0]”应该被解释为 $child,这样下面的 [1] 就会从 $child 请求第二个元素。显然,这并没有发生,唯一被读取的部分是 $parent[0] ,然后因为该元素是一个数组而被退回。

此外,我的 $parent 数组由一个从表中提取数据的循环函数填充,因此将其元素保留为数字形式更简单。具体来说,$parent 的每个元素都包含一轮高尔夫的 id# 和日期,从一个满是高尔夫轮次的表格中检索。我的函数使用 mysql_query 拉取它们,然后在我的 $parent 数组中存储时循环 mysql_get_row。

我意识到这里有很多不必要的信息,但我希望它有助于避免在我的具体情况下不可行的解决方案。我的基本问题是,如何从嵌套在另一个数组中的数组中回显一个元素。

提前致谢。

回答后编辑

以下答案完美无缺,但我也发现了一个肮脏的解决方法。将 $child 数组分配给一个占位符,然后从占位符打印是可行的,但它需要更多的代码行并且看起来并不漂亮。

例如。

$holdArray = $parent[0];
echo "$holdArray[1]";

再次感谢您的快速和有用的回复。SE社区一如既往地通过。

4

3 回答 3

1

尝试

echo "{$parent[0][1]}";

演示:http ://codepad.org/bAfbg1Fh

于 2013-03-07T00:54:38.753 回答
1

echo "{$parent[0][1]}";echo $parent[0][1];应该工作

或者,如果您的数组是关联尝试:echo "{$parent['foo']['bar']}";或者echo $parent['foo']['bar'];

于 2013-03-07T00:57:10.903 回答
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

或者

echo $parent[0][1];
于 2013-03-07T05:05:11.383 回答