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

标题: php递归过滤掉多级没有权限的菜单数组示例 [打印本页]

作者: 追影    时间: 2024-4-26 13:55
标题: php递归过滤掉多级没有权限的菜单数组示例
  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.     }
复制代码







欢迎光临 大米CMS官网论坛,大米站长联盟,大米站长之家,大米开发者社区 (https://www.damicms.com/bbs/) Powered by Discuz! X3.1