在PHP中通过递归实现多层级权限检查

   2024-10-20 5850
核心提示:在PHP中通过递归实现多层级权限检查可以使用以下代码示例:function checkPermission($permissions, $requiredPermission) {if (

在PHP中通过递归实现多层级权限检查可以使用以下代码示例:

function checkPermission($permissions, $requiredPermission) {    if (in_array($requiredPermission, $permissions)) {        return true;    }    foreach ($permissions as $permission) {        if (is_array($permission) && checkPermission($permission, $requiredPermission)) {            return true;        }    }    return false;}$permissions = [    'admin',    'user',    [        'editor',        [            'viewer'        ]    ]];$requiredPermission = 'viewer';if (checkPermission($permissions, $requiredPermission)) {    echo "Permission granted";} else {    echo "Permission denied";}

在上面的示例中,我们定义了一个checkPermission函数来递归检查权限。该函数接收两个参数:$permissions是一个包含权限的数组,$requiredPermission是需要检查的权限。函数首先检查是否在当前权限数组中找到了所需权限,如果找到则返回true,否则继续递归检查每个子权限数组。如果最终没有找到所需权限,则返回false

通过这种方式,我们可以在多层级权限数组中进行递归检查,确保用户拥有所需的权限。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号