PHP 如何输出二维数组中的元素?

3

我想从存储在父数组单元格中的数组中回显单个元素。 为了可读性,我们将称父数组为$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社区一直以来都是非常出色的。


3
请展示数组的内容。 - John Conde
1
echo "{$parent[0][1]}"; 或者 echo $parent[0][1]; 都可以工作。 - Class
是的。使用引号清楚地表明您看不出“变量”和“变量值”的区别。 - Marcin Orlowski
请详细说明。我知道变量是盒子,值是里面的东西,但在字符串中使用方面,我不太了解。我通过试错学习php,使用像Stack Overflow和其他基于用户的论坛这样的资源,因此我错过了很多技术信息,这些信息通常包含在权威文本或其他“不那么自由”的信息中。 - jvance
3个回答

1

1

echo "{$parent[0][1]}"; 或者 echo $parent[0][1]; 应该可以工作。

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


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];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接