这里有新鲜出炉的 PHP 设计模式,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
这篇文章主要介绍了 php 无限级分类实现方法, 结合 2 个简单实例形式分析了 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();
- 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0804/341813.html