3

私は次の配列を持っています

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

どうすれば配列をループできますか。2番目の値には内部ループが必要です。

私は次のように出力が必要です

id->738としての最初のループ

id-> 740、id->750としての2番目のループ

よろしく、ニサント

4

2 に答える 2

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'];
           }
        }
    }
}
于 2012-09-11T05:08:51.357 に答える
0

array_walk_recursiveを使用して、すべての id 値を収集できます。

試す:

$ids = array();
array_walk_recursive($arr, function($v, $k) use (&$ids) {
  $ids[] = $v;
});
var_dump($ids);
于 2012-09-11T05:25:21.877 に答える