本文共 768 字,大约阅读时间需要 2 分钟。
相信很多朋友在做项目都会遇到获取不同级别分类的问题,今天给大家分享一个代码,希望能够帮助到大家,大家有更好的方式也可以分享分享,一起研究研究,不喜勿喷!
表设计:id(自身ID),pid(父级ID)/** * tree 子菜单 * @param $data * @param str $childrenname 子栏目索引名称 * @return array */ function get_tree_children($data, $childrenname = 'children') { $list = array(); foreach($data as $value){ $list[$value['id']] = $value; } static $tree = array(); //格式化好的树 foreach ($list as $item){ //有父级ID的 if (isset($list[$item['pid']])){ $list[$item['pid']][$childrenname][] = &$list[$item['id']]; } else{ $tree[] = &$list[$item['id']]; } } return $tree; }
这个是来自CEMEB系统封装的方法,感觉效率挺高,比递归效率高太多了
转载地址:http://lsiti.baihongyu.com/