无法在PHP中循环遍历数组
我有一个数组,看起来像这样 阵列3{ [0]=> 阵列1{ [0]=> 阵列1{ [@attributes]=> 阵列1{ [数据]=> 今天有23场足球赛 } } } [1]=> 阵列1{ [0]=> 阵列1{ [@attributes]=> 阵列1{ [数据]=> string8足球 } } } [2]=> 阵列1{ [0]=> 阵列1{ [@attributes]=> 阵列1{ [数据]=> 今天踢足球 } } }无法在PHP中循环遍历数组,php,arrays,foreach,Php,Arrays,Foreach,我有一个数组,看起来像这样 阵列3{ [0]=> 阵列1{ [0]=> 阵列1{ [@attributes]=> 阵列1{ [数据]=> 今天有23场足球赛 } } } [1]=> 阵列1{ [0]=> 阵列1{ [@attributes]=> 阵列1{ [数据]=> string8足球 } } } [2]=> 阵列1{ [0]=> 阵列1{ [@attributes]=> 阵列1{ [数据]=> 今天踢足球 } } } } 如果最终使用深度嵌套的数组,则可以使用array\u walk\u
} 如果最终使用深度嵌套的数组,则可以使用array\u walk\u recursive来收集数组“leaves”的键和值:
<?php
$data =
[
[
[
'wanted' => 'foo'
],
],
[
[
'wanted'=> 'bar'
],
'dead'=>'parrot'
]
];
array_walk_recursive($data, function($v, $k) use (&$wanteds) {
if($k==='wanted')
$wanteds[]=$v;
});
var_export($wanteds);
请注意,叶键上的条件检查仅收集所需的属性
然后,您可以轻松地在生成的数组中循环。$d[$x][0]['@attributes']['data']似乎很奇怪。为什么有[$x]和更高版本的[0]?因为这是数组的结构方式。否$d包含$array中的第一个元素,这意味着您只需执行$d[0]['@attributes']['data']即可访问数据。foreach循环不需要$x计数器。谢谢。这就解决了问题。非常感谢。
array (
0 => 'foo',
1 => 'bar',
)