首页 > 代码库 > 无限分类三:递归
无限分类三:递归
第一步,获取全部数据
第二部,写一个子分类的函数
第三,写一个递归循环函数
代码:
/** * 查询所有数据 并且缓存 * */ public function authData(){ $res = $this->order(‘listorder asc‘)->select(); // 格式化 foreach($res as $k=>$v){ $result[$v[‘id‘]] = $v; } Cache::set(‘auth‘,$result); return $result; } /** * 子类数组 * */ public function pidTree($pid=0){ $result = ‘‘; $arr = $this->authData(); if(empty($arr)) return false; foreach($arr as $k=>$v){ if($v[‘pid‘] ==$pid){ $result[$v[‘id‘]] = $v; } } return $result; } /** * 无限分类 树形结构 * */ public function getTree($pid=0){ $arr = $this->pidTree($pid); if(empty($arr)) return false; foreach($arr as $k=>$v){ $result[$v[‘id‘]] = $v; $result[$v[‘id‘]][‘son‘] = $this->getTree($v[‘id‘]); } return $result; }
输出结果
无限分类三:递归
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。