无限分类
Posted 晨曦年华
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无限分类相关的知识,希望对你有一定的参考价值。
/** * 二级分类 * @param $data * @return array */ public function getTree($data) { $arr = []; foreach ($data as $k=>$v){ if($v->cate_pid == 0 ){ $data[$k][‘_cate_name‘] = $v[‘cate_name‘]; $arr[] = $data[$k]; } foreach ($data as $m=>$n) { if($v->cate_id == $n->cate_pid){ $data[$m][‘_cate_name‘] = ‘|-- ‘.$n[‘cate_name‘]; $arr[] = $data[$m]; } } } return $arr; }
/** * 递归方法 * @param $data 要遍历的数组 * @param int $pid 父id * @param int $level 缩进值 * @return array */ public function getTree($data,$pid=0,$level=0) { static $res = []; //静态变量的作用:在函数内部定义的变量能起到全局变量的作用 foreach ($data as $k=>$v){ if($v->cate_pid == $pid){ //如果父id相等 说明找到 保存起来 $v[‘level‘] = $level; //页面中使用level 则 str_repeat(‘_‘,$data[‘level‘]); $res[] = $v; //改变条件递归查找 $this->getTree($data,$v->cate_id,$level+1); } } return $res; }
以上是关于无限分类的主要内容,如果未能解决你的问题,请参考以下文章