PHP生成rbac树形结构数据

本文阅读 1 分钟
首页 PHP笔记 正文
/**
 * 定义函数递归调用获得需要的结构的数组
 * @param array $arrs 递归后的值
 * @param array $data 需要整理的数组
 * @param array $rules 角色所拥有的权限
 * @param int $pid  父id
 * @return mixed 规定格式的数组
 */
function recur($arrs,$data,$rules = [],$pid = 0)
{
    foreach ($data as $k => $v)
    {
        //判断该节点是否有子节点
        if($v['pid'] == $pid)
        {
            //如果有,将该节点作为信息作为父几点
            $v['status'] == 1 ? $status = false : $status = true;
            $spread = false;
            if(in_array($v['id'],$rules))
            {
                $spread = true;
            }
            $arr = ['title' => $v["title"],'id'=>$v['id'],'spread'=>$spread,'disabled'=>$status,'children'=>[]];
            //递归调用recur函数,将子节点的id作为pid传回去,判断是否有子节点,然后将值赋予到现在即诶但的子节点,知道数组循环结束
            $arr['children'] = recur($arr["children"],$data,$rules,$v['id']);
            //执行完递归后将结果追加到空数组中
            array_push($arrs,$arr);
        }
    }
    return $arrs;
}
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

5万+学员护肤首选—中山大学博士的24堂美颜课
« 上一篇 08-28
【华尔街系列课程】财务分析基础与实务
下一篇 » 08-30

发表评论

1 条回复
  1. 友儿游客

    谢谢分享

惪特博客
  • 文章总数:
    18474 篇
  • 评论总数:
    53170 条
  • 标签总数:
    8841 个
  • 总浏览量:
    19573523 次
  • 最后更新:
    10月12日

最多点赞

随便看看

标签TAG