0

现在尝试从数组中打印信息,并且不想在 foreach 循环中使用 manu foreach 。如何从这个数组中输出数据非常有趣

Array
(
[aM] => Array
    (
        [0] => Array
            (
                [iId] => 0
                [iTime] => 00
            )

        [1] => Array
            (
                [iId] => 1
                [iTime] => 11
            )

        [2] => Array
            (
                [iId] => 2
                [iTime] => 22
            )
    )

[aN] => Array
    (
        [0] => Array
            (
                [sName] => a
            )

        [1] => Array
            (
                [sName] => b
            )

        [2] => Array
            (
                [sName] => v
            )
    )
)

像这样,来自第一个数组的数据靠近来自第二个数组的数据

0 a, 1 b, 2v

? 不像这里,首先我们从第一个输出所有数据,而不是从第二个

0 1 2 a b v

?

4

2 回答 2

4

您可以使用 a 轻松完成此操作MultipleIterator,这将轻松遍历两个数组:

// $array = your array from up there

$iter = new MultipleIterator;
$iter->attachIterator( new ArrayIterator( $array['aM']));
$iter->attachIterator( new ArrayIterator( $array['aN']));

foreach( $iter as $data) {
    list( $a, $b) = $data;
    echo $a['iId'] . ' ' . $b['sName'] . ',';
}

您可以从这个演示中看到它打印出来(对于 PHP >= 5.3):

0 a,1 b,2 v,
于 2012-11-16T14:18:29.267 回答
1

如果我猜对了,您想遍历“aM”,然后在“aN”中找到相应的项目。

$sets = array();
foreach ($arr['aM'] as $key => $item) {
    $sets[] = $item['iId'] . ' ' . $arr['aN'][$key]['sName'];
}
echo join(', ', $sets);
于 2012-11-16T14:19:54.230 回答