文档章节

PHP递归菜单/权限目录(无限极数组)

o
 osc_g8254g7s
发布于 2019/08/19 20:04
字数 168
阅读 21
收藏 0
php

精选30+云产品,助力企业轻松上云!>>>



/**
 *      递归权限(数组)
 *
 * @param $data   select查询来未处理过的数组
 * @param $pid   
 * @return array
 */
function recursiveMenuArray($data,$pid){
    $re_data =[];
    foreach ($data as $key=>$value){

        if($value['pid'] == $pid){
            $re_data[$value['id']] = $value;
            $re_data[$value['id']]['list'] = $this->recursionMenu($data,$value['id']);

        }else{
            continue;
        }
    }
    return $re_data;
}
$data = query("select * from menu");//二维数组
$array = recursiveMenuArray($data,0);

print_r($array);

 

输出结果:
Array
(
    [1] => Array
        (
            [id] => 1
            [title] => 操作员列表
            [pid] => 0
            [list] => Array
                (
                    [2] => Array
                        (
                            [id] => 2
                            [title] => 在线配置
                            [pid] => 1
                            [list] => Array
                                (
                                    [3] => Array
                                        (
                                            [id] => 3
                                            [title] => 服务器信息
                                            [pid] => 2
                                            [list] => Array
                                                (
                                                    [4] => Array
                                                        (
                                                            [id] => 4
                                                            [title] => 游戏账号
                                                            [pid] => 3
                                                            [list] => Array
                                                                (
                                                                )

                                                        )

                                                    [5] => Array
                                                        (
                                                            [id] => 5
                                                            [title] => 查询
                                                            [pid] => 3
                                                            [list] => Array
                                                                (
                                                                )

                                                        )

                                                    [6] => Array
                                                        (
                                                            [id] => 6
                                                            [title] => 邮件及兑换码
                                                            [pid] => 3
                                                            [list] => Array
                                                                (
                                                                )

                                                        )

                                                )

                                        )

                                )

                        )

                )

        )

)

  






o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
PHP无限极分类

一、参考资料 http://www.php.cn/php-weizijiaocheng-360446.htmlhttp://www.php.cn/keywords-%E6%97%A0%E9%99%90%E6%9E%81%E5%88%86%E7%B1%BB.html 本文博客部分内容是上述网上内容搬运过来......

osc_k5ta3dng
2018/05/16
2
0
无限极分类

php无限极分类 这里首先介绍一下,什么是无限极分类? 无限极分类简单点说就是一个类可以分成多个子类,然后一个子类又可以分另外多个子类这样无限分下去,就好象windows可以新建一个文件夹,...

_纵横捭阖_
2018/08/22
1
0
【PHP原生】递归实现无限级分类树状展示数据

主要应用领域:无限极分类的菜单栏、对评论进行无限次追评 ... 1、数据库设计要求:每一条记录都需要存在id(主键)和pid(父用户id)字段。 2、查询数据库获取所有的记录组成的数组。 3、递...

osc_88djj30s
2018/10/16
6
0
无限极分类算法,对你一定有帮助

无限级分类是开发中常见的情况,也经常会在面试,主考官问到,笔试中遇到,因此本文对常见的无限极分类算法进行总结归纳,其实大多数就是迭代与递归。 1.循环迭代实现 $arr = [1=>['id'=>1,'n...

php开源社区
06/30
5
0
php无限极数组,获取指定键值

无限极数组,如果我只想取部分字段如下面数组,只保留rid,title,data三个字段,该如何实现了.我知道php有个函数array_walk_recursive是做数组递归遍历的,但是对实现这个一点思路也没有,请大家...

manbudezhu
2018/02/07
152
1

没有更多内容

加载失败,请刷新页面

加载更多

设计模式(4) 建造者模式

什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了...

zhixin9001
10分钟前
14
0
ArrayList源码分析 —— JDK8

ArrayList的特性 ArrayList内部使用数据作为存储结构,ArrayList可以理解为数组的扩展对象,封装了常用的和非常用的操作数组的方法。以及当数组长度不足以保存数组时,自动扩容数组,通常Arr...

XuePeng77
16分钟前
16
0
__slots__的用法? - Usage of __slots__?

问题: Python中__slots__的目的是什么-尤其是关于何时以及何时不使用它的目的? 解决方案: 参考一: https://stackoom.com/question/1ymu/slots-的用法 参考二: https://oldbug.net/q/1ym...

富含淀粉
28分钟前
17
0
Python分析42年高考数据,告诉你高考为什么这么难?

作者:徐麟 历年录取率 可能很多经历过高考的人都不知道高考的全称,高考实际上是普通高等学校招生全国统一考试的简称。从1977年国家恢复高考制度至今,高考经历了许多的改革,其中最为显著的...

爱码小哥
29分钟前
19
0
CKEditor 5 + SpringBoot实战(四):SpringBoot 实现文件上传

在本系列的文章中,我将介绍如何在Spring Boot Application中使用CKEditor编辑器。介绍的内容包括基本环境的搭建,文件上传,SpringData JPA数据持久化,CKEditor5的安装,CKEditor图片上传,...

树下魅狐
31分钟前
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部