如何循环遍历多维数组

时间:2013-08-13 21:51:31

标签: php arrays loops multidimensional-array

我有一个看起来像这样的数组:

Array
(
    [apple] => Array
        (
            [0] => 689795
            [1] => September 2012
            [2] => 689795
            [3] => September 2012
            [4] => 1113821
            [5] => June 2013
            [6] => 1122864
            [7] => July 2013
        )

    [pear] => Array
        (
            [0] => 1914898
            [1] => September 2012
            [2] => 1914898
            [3] => September 2012
            [4] => 1914646
            [5] => September 2012
            [6] => 1914898
            [7] => September 2012
        )
)

我想要做的是循环“apple”元素并输出如下内容:

['September 2012', 689795],
['September 2012', 689795],
['June 2013', 1113821],
['July 2013', 1122864],

我怎样才能做到这一点?所以我的主要目标是组织日期和价值观。

我的数组数据比上面的例子长得多,但我只是需要帮助才能获得一个有效的代码来循环并回显上面的例子。

我已尝试使用foreach,但我无法让它工作。我是PHP的新手。

3 个答案:

答案 0 :(得分:2)

这样做:

foreach ($first_array as $first_key=>$first_val) {
    foreach ($first_val as $second_key=>$second_val){
        echo $second_val;
    }
}

这将遍历您的第一个数组。然后,对于从第一个循环(这是嵌套数组)获得的每个值,再次执行for循环。

现在你的$ second_val第一次是你的“关键”,第二次是“约会”。

答案 1 :(得分:2)

如果你的'内部'数组总是有8个元素,请使用外部foreach来遍历水果和内部for循环:

foreach ($array as $fruit) {

    for ($i == 1; $i <= 7; $i += 2) {

        echo $fruit[$i] . ", " . $fruit[$i-1] . "<br />";

    } // for
} // foreach

答案 2 :(得分:1)

我会使用array_chunk这样的东西,可能是最小和最干净的代码。

foreach (array_chunk($arr['apple'], 2) as $row) {
    echo "['$row[1]', $row[0]],<br />";
}
相关问题