直接看代码:
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