采用递归实现无限级分类
public function getChild($data){ $items=array(); foreach($data as $v){ //将数组存入$items,且$items的键为$data中的id $items[$v['id']] = $v; } $tree=array(); foreach($items as $item){ if(isset($items[$item['parId']])){ //通过pid判断$items中是否有对应的数组,$itms[0]不存在 $items[$item['parId']]['child'][]=&$items[$item['id']]; } else{ $tree[]=&$items[$item['id']]; } } return $tree; }
public function sort(){ //假如从数据库里读出来的数据如下: $data = array( array('id'=>1,'name'=>"衣服",'parId'=>0), array('id'=>2,'name'=>"书籍",'parId'=>0), array('id'=>3,'name'=>"T恤",'parId'=>1), array('id'=>4,'name'=>"裤子",'parId'=>1), array('id'=>5,'name'=>"鞋子",'parId'=>1), array('id'=>6,'name'=>"皮鞋",'parId'=>5), array('id'=>7,'name'=>"运动鞋",'parId'=>5), array('id'=>8,'name'=>"耐克",'parId'=>7), array('id'=>9,'name'=>"耐克",'parId'=>3), array('id'=>10,'name'=>"鸿星尔克",'parId'=>7), array('id'=>11,'name'=>"小说",'parId'=>2), array('id'=>12,'name'=>"科幻小说",'parId'=>11), array('id'=>13,'name'=>"古典名著",'parId'=>11), array('id'=>14,'name'=>"文学",'parId'=>2), array('id'=>15,'name'=>"四书五经",'parId'=>14) ); //调用方法 $res=$this->getChild($data); return json($res); }
上一篇:tp5跨控制器调用别的方法
下一篇:TP5实现无限级分类 树形输出
讨论数量:0