php无限极递归概念,php无限极分类递归与普通

1. 递归

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(2881064151);

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. 普通

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不使用递归实现无限极分类

无限极分类常用的是递归,但是比较不好理解,其实可以用数据库path,pid两个字段的设计来实现无限分类的功能 1.数据库设计 通过上图可以看出pid就是该栏目的父id,而path = 父path+pi ...

PHP实现无限极分类的两种方式,递归和引用

面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表的时候,增加一个PID字段用来区别自己所属的分类 $array = array( array('id' => 1, 'pid' =& ...

php无限极分类以及递归(thinkphp)

php无限极分类: 无限极分类重点在于表的设计: 1在model中: class CatModel extends Model{ protected $cat = array(); public fu ...

js实现无限极分类

转载注明出处!!! 转载注明出处!!! 转载注明出处!!! 因为要实现部门通讯录,后台传来的数据是直接从数据库里拿的部门表,所以没有层级分类,只有parentId表示从属关系,所以分类的事情就交给我来 ...

C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现之方法二:加入缓存机制

在上一篇文章中我用递归方法实现了管理菜单,在上一节我也提到要考虑用缓存,也算是学习一下.Net Core的缓存机制. 关于.Net Core的缓存,官方有三种实现: 1.In Memory Cachi ...

PHP无限极分类,多种方法|很简单,这里说的很详细,其它地方说的很不好懂

当你学习php无限极分类的时候,大家都觉得一个字"难"我也觉得很难,所以,现在都还在看,因为工作要用到,所以,就必须得研究研究.   到网上一搜php无限极分类,很多,但好多都是一 ...

C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现

今天做一个管理后台菜单,想着要用无限极分类,记得园子里还是什么地方见过这种写法,可今天找了半天也没找到,没办法静下心来自己写了: 首先创建节点类(我给它取名:AdminUserTree): /// & ...

PHP无限极分类生成树方法,无限分级

你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了.这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了. function g ...

php之无限极分类

首先建立分类信息表: CREATE TABLE IF NOT EXISTS `category` ( `categoryId` smallint(5) unsigned NOT NULL AUTO_I ...

随机推荐

安装wamp2.5报权限错误的解决办法

安装完wampServer 2.5,新建了一个虚拟目录,xhp/ 访问xhp/index.php报You don't have permission to access 按照以前的经验,只要打开/wa ...

将list集合的元素按照添加顺序的倒序进行排列取出

1.方法 Collections.reverse(list); 2.代码示例 /** * 从redis中将现场状态的记录全部取出 * @param aucId * @return */ @Reques ...

Linux各个目录的作用及内容

1)根目录“/”    根目录位于目录结构的最顶层,用斜线(/)表示,类似于Windows操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件. 2)/bin    /bin 目录又称为二 ...

《Paxos Made Simple》翻译

1 Introduction 可能是因为之前的描述对大多数读者来说太过Greek了,Paxos作为一种实现容错的分布式系统的算法被认为是难以理解的.但事实上,它可能是最简单,最显而易见的分布式算法了. ...

Win32中GDI+应用(三)---Graphics类

在我理解看来,Graphics是一个device context和你的drawing conetent之间的一个中介.它存储了device context的相关属性,以及drawing content ...

Linux shell日常命令和技巧

转自:http://www.vaikan.com/linux-shell-tips-and-tricks/ 原文:http://www.techbar.me/linux-shell-tips/ 使用L ...

mac下 redis安装使用

安装redis:brew install redis 开启redis服务:redis-server /usr/local/etc/redis.conf 重新打开一个命令窗口:redis-cli ,进入 ...

(ASP.NET )去除字符串中的HTML标签

string strDoContent = "执行增加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值