PHP生成rbac树形结构数据

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

免责声明

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

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

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

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

发表评论

1 条回复
  1. 友儿游客

    谢谢分享