直接看代码:
public function sortTree(&$html,$parid,$data,$dep){ $arr=[]; for($i = 0;$i<count($data);$i++){ if($data[$i]['parId'] == $parid){ $html[] = str_repeat(' ', $dep).'|-'.$data[$i]['name']; $this->sortTree($html,$data[$i]['id'],$data,$dep+1); } } return $html; } 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) ); $html=[]; //调用方法 $res=$this->sortTree($html,0,$data,1); print_r($res); }
下一篇:TP6 常用数据库操作
讨论数量:0