大米CMS官网论坛,大米站长联盟,大米站长之家,大米开发者社区

 找回密码
 注册大米会员

QQ登录

只需一步,快速开始

查看: 51|回复: 0
打印 上一主题 下一主题

php递归过滤掉多级没有权限的菜单数组示例

[复制链接]

501

主题

778

帖子

7670

积分

超级版主

Rank: 8Rank: 8

积分
7670

授权用户商城钻石VIP

跳转到指定楼层
楼主
发表于 2024-4-26 13:55:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1.     private function filterMenusByPermission(&$menus) {
  2.         foreach ($menus as $key => &$menu) {
  3.             // 检查当前级别菜单项的访问权限
  4.             if (!empty($menu['value']) && !$this->user->hasPermission('access', $menu['value'])) {
  5.                 unset($menus[$key]);
  6.             }else{
  7.     // 如果有子菜单,递归调用此函数
  8.             if (!empty($menu['children'])) {
  9.                 $this->filterMenusByPermission($menu['children']);
  10.                 // 如果子菜单为空(所有子项都被移除),则也移除当前菜单项
  11.                 if (empty($menu['children'])) {
  12.                     unset($menus[$key]);
  13.                 }
  14.             }
  15.             }
  16.         }
  17.         unset($menu);
  18.     }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册大米会员

本版积分规则

QQ|小黑屋|大米CMS社区 ( 蜀ICP备11002200号-2广告联系:广告联系 

Powered by 大米CMS

© 2010-2020 大米CMS Inc.

快速回复 返回顶部 返回列表