急求!!!!无限极分类如何获取每一极的后代数量,包括儿子和孙子跪求!

例如:`$items=array(
0=>array('id'=>0,'pid'=>-1,'name'=>'中国'),
1=>array('id'=>1,'pid'=>0,'name'=>'安徽省'),
2=>array('id'=>2,'pid'=>0,'name'=>'浙江省'),
3=>array('id'=>3,'pid'=>1,'name'=>'合肥市'),
4=>array('id'=>4,'pid'=>3,'name'=>'长丰县'),
5=>array('id'=>5,'pid'=>1,'name'=>'安庆市'),
);`
我想得到
`$items=array(
0=>array('id'=>0,'pid'=>-1,'name'=>'中国','num'=>'后代数量'),
1=>array('id'=>1,'pid'=>0,'name'=>'安徽省','num'=>'后代数量'),
2=>array('id'=>2,'pid'=>0,'name'=>'浙江省','num'=>'后代数量'),
3=>array('id'=>3,'pid'=>1,'name'=>'合肥市','num'=>'后代数量'),
4=>array('id'=>4,'pid'=>3,'name'=>'长丰县','num'=>'后代数量'),
5=>array('id'=>5,'pid'=>1,'name'=>'安庆市','num'=>'后代数量'),
);`
如果是生成树之后的,只要有后代数量也行,谢谢各位大神了
侃侃尔雅
浏览 524回答 2
2回答

RISEBY

不会PHP,尽量写的像PHP:1、对原始数据按照pid做一个分类,得到一个pid=>items的对象:pidItems,可以用数组的reduce方法,PHP应该也有的,代码:var$pidItems=array_reduce($items,function($res,$item){$res[$item['pid']]=$res[$item['pid']]||array();array_push($res[$item['pid']],$item);return$res;},array());2、遍历原始数据,执行$item['num']=$pidItems[$item['pid']].count;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript