例如:`$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'=>'后代数量'),);`如果是生成树之后的,只要有后代数量也行,谢谢各位大神了
2 回答

RISEBY
TA贡献1856条经验 获得超5个赞
不会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;
添加回答
举报
0/150
提交
取消