组数据中的组数组php

时间:2018-11-08 16:43:00

标签: php arrays grouping

从关联数组生成组数组后,现在该数组采用以下格式。为了创建该组数组,我使用了以下代码:

foreach($upcoming_data_arr as $key => $item)
        {
            $arr[$item['year']][$key] = $item;
        } 

Array
(
    [2018] => Array
        (
            [0] => Array
                (
                    [id] => 6
                    [year] => 2018
                    [month] => 11
                )

            [1] => Array
                (
                    [id] => 5
                    [year] => 2018
                    [month] => 12
                )

            [2] => Array
                (
                    [id] => 4
                    [year] => 2018
                    [month] => 11
                )

            [3] => Array
                (
                    [id] => 3
                    [year] => 2018
                    [month] => 11
                )
        )
)

现在,我需要根据年份分组中的月份再分配​​一组分组。在这种情况下,组数据数组将如下所示:

 Array
    (
        [2018] => Array
            (
                [11] => Array
                    (
                        [0] => Array
                            (
                            [id] => 6
                            [year] => 2018
                            [month] => 11
                            )

                        [1] => Array
                            (
                            [id] => 4
                            [year] => 2018
                            [month] => 11
                            )

                        [2] => Array
                           (
                            [id] => 3
                            [year] => 2018
                            [month] => 11
                            )

                    )

                [12] => Array
                    (
                        [0] => Array
                           (
                           [id] => 5
                           [year] => 2018
                           [month] => 12
                           )
                    )
            )
    )

我们将如何获得此输出?

1 个答案:

答案 0 :(得分:1)

在创建由$ item ['month']标识的数组时,再添加一个“维度”,然后让php通过[]确定最后一个“维度”键:

foreach($upcoming_data_arr as $key => $item) {
    $arr[$item['year']][$item['month']][] = $item;
}