TP5实现无限极分类查询并返回json格式

ThinkPHP 1638 0 2020-07-14

TP5实现无限极分类查询并返回json格式

采用递归实现无限级分类


	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

请先登录再发表讨论。 2024-04-27

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链