多维数组制作三级联动

$data = [
            [
                'first' => 1101,
                'second' => 1102,
                'third' => 1103
            ],
            [
                'first' => 1111,
                'second' => 1112,
                'third' => 1113
            ],
        ];

$data是需要进行排序的数组
下面进行数组操作

		$arr = [];
        foreach($data as $v){
            //一级
            if(!key_exists($v['first'],$arr)){
                $arr[$v['first']] = [
                    'value' => $v['first'],
                    'children' => []
                ];
            }
            //二级
            if(!key_exists($v['second'],$arr[$v['first']]['children'])){
                $arr[$v['first']]['children'][$v['second']] = [
                    'value' => $v['second'],
                    'children' => []
                ];
            }
            //三级
            $arr[$v['first']]['children'][$v['second']]['children'][$v['third']] = [
              'value' => $v['third']
            ];
        }

排序结果
在这里插入图片描述

将排序结果进行处理

	 foreach($arr as $key => $value){
	 	foreach ($value['children'] as $m => $item) {
	
			 $arr[$key]['children'][$m]['children'] = array_values($item['children']);
	
		}
		$arr[$key]['children'] = array_values($arr[$key]['children']);
	}
    $arr = array_values($arr);

最后排序结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值