为了账号安全,请及时绑定邮箱和手机立即绑定

求重组数组 有点递归的意思 难住了

求重组数组 有点递归的意思 难住了

皈依舞 2019-05-25 17:14:42
$arr=[["id"=>"21","pid"=>"0","name"=>"轮播图管理","model"=>""],["id"=>"22","pid"=>"21","name"=>"轮播图分类","model"=>""],["id"=>"23","pid"=>"22","name"=>"轮播图分类列表","model"=>"Carousel/index_"],["id"=>"24","pid"=>"22","name"=>"添加一级分类","model"=>"Carousel/add_"],["id"=>"25","pid"=>"0","name"=>"广告管理","model"=>NULL],["id"=>"26","pid"=>"25","name"=>"广告列表","model"=>"Advert/index"],["id"=>"27","pid"=>"25","name"=>"广告添加","model"=>"Advert/add"]];组装之后的样子:$arr=[["id"=>"21""pid"=>"0""name"=>"轮播图管理""model"=>"""content"=>["id"=>"22""pid"=>"21""name"=>"轮播图分类""model"=>"""content"=>["id"=>"23""pid"=>"22""name"=>"轮播图分类列表""model"=>"Carousel/index_"],["id"=>"24""pid"=>"22""name"=>"添加一级分类""model"=>"Carousel/add_"]]],["id"=>"25""pid"=>"0""name"=>"广告管理""model"=>NULL"content"=>["id"=>"26""pid"=>"25""name"=>"广告列表""model"=>"Advert/index"],["id"=>"27""pid"=>"25""name"=>"广告添加""model"=>"Advert/add"]]];
查看完整描述

2 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

随手写的,还未调试。
functionappend_item($root,$item){
foreach($rootas$key=>$r){
if($item['pid']==$r['pid']){
$root[$key]['content']=$item;
return[$root,true];
}
if(!empty($r['content'])){
list($content,$ok)=append_item($r['content'],$item);
if($ok){
$root[$key]['content']=$content;
return[$root,true];
}
}
}
return[$root,false];
}
functionmove_items($root,$arr){
foreach($arras$key=>$item){
if($item['pid']==0){
$root[]=$item;
unset($item[$key]);
}else{
list($root,$ok)=append_item($root,$item);
if($ok)unset($item[$key]);
}
}
return[$root,$arr];
}
$root=[];
$arr[....];
while(count($arr)){
list($root,$arr)=move_items($root,$arr);
}
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 372 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信