数组循环问题

时间:2012-09-11 05:00:35

标签: php arrays

我有以下数组

Array(
Array
(
    [Segment] => Array
        (
            [id] => 738
    )
),
Array
(
    [Segment] => Array
        (
            [0] => array([id] => 740),
            [1] => array([id] => 750)
    )
)
)

我如何循环数组。第二个值需要内循环。

我需要输出

首次循环为id-> 738

第二循环为id-> 740,id-> 750

此致 Nisanth

2 个答案:

答案 0 :(得分:1)

你可以这样做:

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

答案 1 :(得分:0)

您可以使用array_walk_recursive来收集所有ID值。

尝试:

$ids = array();
array_walk_recursive($arr, function($v, $k) use (&$ids) {
  $ids[] = $v;
});
var_dump($ids);