1

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

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 相当陌生。

4

3 回答 3

2

做这个:

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

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

现在您的 $second_val 第一次是您的“关键”,第二次是“日期”。

于 2013-08-13T21:55:19.177 回答
2

如果您的“内部”数组始终有 8 个元素,请使用外部foreach来遍历水果和内部for循环:

foreach ($array as $fruit) {

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

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

    } // for
} // foreach
于 2013-08-13T21:58:23.933 回答
1

我会用 array_chunk 来做这样的事情,可能是最小和最干净的代码。

foreach (array_chunk($arr['apple'], 2) as $row) {
    echo "['$row[1]', $row[0]],<br />";
}
于 2013-08-13T22:00:36.137 回答