php递归算法 php递归函数无限级分类
Libérer: 2016-07-25 08:54:02
original
1004 Les gens l'ont consulté
-
-
/**
- * 作用:查询所有分类生成Tree菜单
- * @param int $pid 父ID 默认从顶级开始查询
- */
- function toTree($pid=0){
- //查询所有顶级分类
- //数据库连接在此就不多说了
- $model=M('Category');实例化模型
- //查询map条件
- $map=array(
- 'pid'=>$pid,
- );
- //查询
- $data=$model->where($map)->select();
- //定义新数组 用来存生成的html树形菜单
- $html_array=array();
- //循环分类
- $html='';
- $padding=0; //缩进
- foreach($data as $k=>$v){
- //根据path字段的值实现缩进
- $path=$v['path'];
- if($path&&strpos($v['path'],'-')){
- $path_array=@explode('-',$v['path']);
- $count=count($path_array)-1;
- $padding=$count*20; //下一级分类缩进20像素
- }
- //当前分类数据html
- $data_array[]='
- '.$v['name'].'
- ';
//递归开始查找下级分类
- $data_array[]=toTree($v['id']);//把当前分类的id当做父级Id进行递归
- }
- //foreach循环结束合并分类html数组
- $html.=implode('',$data_array());
- $html.='';
- //html树形菜单构造完成,就这么简单,so easy吧!
- return $html;
- }
-
复制代码
|
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31