PHP根据键值,把一维数组按条件转换成二维数组

:对于一个一维数组,如果按某个相同键值,就将其归为一类,最终转换成一个二维数组,比如下面数组,如果 parent_id 上级id相同,就转换成一类,即同一个省下面的市全部放在一起。

    $area = [
        [
            'id'   => 100,
            'name' => '武汉市',
            'parent_id' => 201,
        ],
        [
            'id'   => 101,
            'name' => '宜昌市',
            'parent_id' => 201,
        ],
        [
            'id'   => 102,
            'name' => '黄冈市',
            'parent_id' => 201,
        ],
        [
            'id'   => 301,
            'name' => '广州市',
            'parent_id' => 401,
        ],
        [
            'id'   => 302,
            'name' => '深圳市',
            'parent_id' => 401,
        ],
    ];

:可以用一个foreach循环处理下,代码如下

$area_list = [];
foreach ($area as $key => $value) {
    $area_list[$value['parent_id']][] = $value;
}

:最终打印如下

 

 :结束

posted @ 2020-05-17 22:00  在斑马线上散布  阅读(3032)  评论(0编辑  收藏  举报
夫人不言,言必有中。这是高级臣僚的一种可贵品质,言辞精炼,直抵要害。