Php 数组循环问题
我有以下数组Php 数组循环问题,php,arrays,Php,Arrays,我有以下数组 Array( Array ( [Segment] => Array ( [id] => 738 ) ), Array ( [Segment] => Array ( [0] => array([id] => 740), [1] => array([id] => 750) ) ) ) 如何循环数组。第二个值需
Array(
Array
(
[Segment] => Array
(
[id] => 738
)
),
Array
(
[Segment] => Array
(
[0] => array([id] => 740),
[1] => array([id] => 750)
)
)
)
如何循环数组。第二个值需要内部循环
我需要输出为
第一个循环id->738
第二个循环id->740,id->750
问候,,
尼桑斯您可以这样做:
foreach($array as $a) {
foreach($a as $segment => $array) {
if(isset($array['id'])) {
echo $array['id']; //if there is an `id` index echo it
} else {
foreach($array as $k => $v) { //or else.. start looping again
echo $v['id'];
}
}
}
}
您可以使用来收集所有id值
尝试:
数组格式有点奇怪。谁生成的?实际上它是从APIOk返回的。那么,您是否尝试过普通的旧
foreach
?我可以检查计数并将if/else条件写入循环内部循环。但是如果我们改变数组结构,我会寻找一个简单的解决方案如果结构改变了,你需要改变相应的代码。@gautamdharmapuri,还没有测试过,但应该测试。试试看。
$ids = array();
array_walk_recursive($arr, function($v, $k) use (&$ids) {
$ids[] = $v;
});
var_dump($ids);