简单的无极限分类
之前看过一些无极限分类的,这次自己简单总结一下
数据
第一步,取出来
得到最普通的格式(是无序的)
第二步,进行数组处理(顺序啥的无区别,就是数组的键从0-5变成了1-6)
第二步,开始遍历了
这就完成了
附上代码
//获取分类public function get_category(){ //从数据库取出数组$array = self::where(['require' => 1])->select()->toArray();//先第一步对数组进行排序,不能直接第二步$items = array();foreach($array as $value){$items[$value['id']] = $value;}//第二步$tree = array();//定义索引数组,用于记录节点在目标数组的位置foreach($items as $key => $value){//如果pid这个节点存在if(isset($items[$value['pid']])){//把当前的$value放到pid节点的son中 注意 这里传递的是引用$items[$value['pid']]['son'][] = &$items[$key];}else{$tree[] = &$items[$key];}}return $tree;}
总结
- 上一篇: QQ浏览器性能提升之路-windows性
- 下一篇: 为什么极品飞车服务器维修,极品飞车:无极