服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - PHP教程 - php无限级分类实现方法分析

php无限级分类实现方法分析

2021-03-14 17:25Love满天星 PHP教程

这篇文章主要介绍了php无限级分类实现方法,结合2个简单实例形式分析了php通过递归与普通算法实现无限级分类的相关操作技巧,需要的朋友可以参考下

本文实例讲述了php无限级分类实现方法。分享给大家供大家参考,具体如下:

1. 递归

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public function getInfo(){
$data=$this->select();
$arr=$this->noLimit($data,$f_id=0,$level=0);
return $arr;
}
//无限极分类
public function noLimit($data,$f_id=0,$level=0){
static $lists=array();
foreach($data as $key=>$v){
  if($v['f_id']==$f_id){
    $v['level']=$level;
    $lists[]=$v;
    $this->noLimit($data,$v['q_id'],$level+1);
  }
}
return $lists;
}

2. 普通

?
1
2
3
4
5
6
7
8
9
10
11
public function getInfo(){
$u_id=session('u_id');
$data=$this->join("user join user_role on user.u_id=user_role.u_id join role_quan
 on user_role.j_id=role_quan.j_id join quan on quan.q_id=role_quan.q_id")->
 where("user.u_id=$u_id and quan.f_id=0")->group("quan.q_id")->select();
 foreach($data as $k=>$v){
 $arr=$this->join("user join user_role on user.u_id=user_role.u_id join role_quan
 on user_role.j_id=role_quan.j_id join quan on quan.q_id=role_quan.q_id")->
 where("user.u_id=$u_id and quan.f_id=".$v['q_id'])->group("quan.q_id")->select();
 $data[$k]['son']=$arr;
}

希望本文所述对大家PHP程序设计有所帮助。

延伸 · 阅读

精彩推荐