$cat = [
['id'=>1,'name'=>"衣服",'parent_id'=>0],
['id'=>2,'name'=>"书籍",'parent_id'=>0],
['id'=>3,'name'=>"T恤",'parent_id'=>1],
['id'=>4,'name'=>"裤子",'parent_id'=>1],
['id'=>5,'name'=>"鞋子",'parent_id'=>1],
['id'=>6,'name'=>"皮鞋",'parent_id'=>5],
['id'=>7,'name'=>"运动鞋",'parent_id'=>5],
['id'=>8,'name'=>"耐克",'parent_id'=>7],
['id'=>9,'name'=>"耐克",'parent_id'=>3],
['id'=>10,'name'=>"鸿星尔克",'parent_id'=>7],
['id'=>11,'name'=>"小说",'parent_id'=>2],
['id'=>12,'name'=>"科幻小说",'parent_id'=>11],
['id'=>13,'name'=>"古典名著",'parent_id'=>11],
['id'=>14,'name'=>"文学",'parent_id'=>2],
['id'=>15,'name'=>"四书五经",'parent_id'=>14]
];请用尽量少的循环,将$cat 输出为 $categorys$categorys = [
'1' => [ '0' => [ 'id' => 1,'name' => '衣服','parent_id' => 0] ],
'2' => [ '0' => [ 'id' => 2,'name' => '书籍','parent_id' => 0] ],
'3' => [ '0' => [ 'id' => 1,'name' => '衣服','parent_id' => 0],
'1' => [ 'id' => 3,'name' => 'T恤' ,'parent_id' => 1] ],
'4' => [ '0' => [ 'id' => 1,'name' => '衣服','parent_id' => 0],
'1' => [ 'id' => 4,'name' => '裤子','parent_id' => 1] ],
'5' => [ '0' => [ 'id' => 1,'name' => '衣服','parent_id' => 0],
'1' => [ 'id' => 5,'name' => '鞋子','parent_id' => 1] ],
'6' => [ '0' => [ 'id' => 1,'name' => '衣服','parent_id' => 0],
'1' => [ 'id' => 5,'name' => '鞋子','parent_id' => 1],
'2' => [ 'id' => 6,'name' => '皮鞋','parent_id' => 5] ],
'7' => [ '0' => [ 'id' => 1,'name' => '衣服','parent_id' => 0],
'1' => [ 'id' => 5,'name' => '鞋子','parent_id' => 1],
'2' => [ 'id' => 7,'name' => '运动鞋','parent_id' => 5] ],
'8' => [ '0' => [ 'id' => 1,'name' => '衣服','parent_id' => 0],
'1' => [ 'id' => 5,'name' => '鞋子','parent_id' => 1],
'2' => [ 'id' => 7,'name' => '运动鞋','parent_id' => 5],
'3' => [ 'id' => 8,'name' => '耐克','parent_id' => 7] ],
'9' => [ '0' => [ 'id' => 1,'name' => '衣服','parent_id' => 0],
'1' => [ 'id' => 3,'name' => 'T恤' ,'parent_id' => 1],
'2' => [ 'id' => 9,'name' => '耐克','parent_id' => 3] ],
'10' =>[ '0' => [ 'id' => 1,'name' => '衣服','parent_id' => 0],
'1' => [ 'id' => 5,'name' => '鞋子','parent_id' => 1],
'2' => [ 'id' => 7,'name' => '运动鞋','parent_id' => 5],
'3' => [ 'id' => 10,'name' => '鸿星尔克','parent_id' => 7] ],
'11' =>[ '0' => [ 'id' => 2,'name' => '书籍','parent_id' => 0],
'1' => [ 'id' => 11,'name' => '小说','parent_id' => 2] ],
'12' =>[ '0' => [ 'id' => 2,'name' => '书籍','parent_id' => 0 ],
'1' => [ 'id' => 11,'name' => '小说','parent_id' => 2],
'2' => [ 'id' => 12,'name' => '科幻小说','parent_id' => 11] ],
'13' =>[ '0' => [ 'id' => 2,'name' => '书籍','parent_id' => 0 ],
'1' => [ 'id' => 11,'name' => '小说','parent_id' => 2],
'2' => [ 'id' => 13,'name' => '古典名著','parent_id' => 11] ],
'14' =>[ '0' => [ 'id' => 2,'name' => '书籍','parent_id' => 0],
'1' => [ 'id' => 14,'name' => '文学','parent_id' => 2] ],
'15' =>[ '0' => [ 'id' => 2,'name' => '书籍','parent_id' => 0],
'1' => [ 'id' => 14,'name' => '文学','parent_id' => 2],
'2' => [ 'id' => 15,'name' => '四书五经','parent_id' => 14] ]
];可参考递归函数function recTree($arr,$parent_id=0,$lev=0){
$tree = array();
foreach ($arr as $k => $v) {
if ($v['parent_id'] == $parent_id){
$v['lev'] = $lev;
$tree[] = $v;
$tree = array_merge($tree,recTree($arr,$v['id'],$lev+1));
}
}
return $tree;
}
最佳答案