账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    权限列表的循环
    20
    0

    如题我有一个查询会查出当前用户所有的权限

    $authList = [
        ['id' => 1, 'pid' => 0, 'title' => 'project'],
        ['id' => 2, 'pid' => 0, 'title' => 'customer'],
        ['id' => 3, 'pid' => 1, 'title' => 'select'],
        ['id' => 4, 'pid' => 1, 'title' => 'delete'],
        ['id' => 5, 'pid' => 2, 'title' => 'select'],
        ['id' => 6, 'pid' => 2, 'title' => 'delete'],
        ['id' => 7, 'pid' => 6, 'title' => 'logic delete']
    ];
    

    我想重新组织这个数组使它根据pid变成树形结构,就像这样

    $result = [
        [
            'id' => 1,
            'pid' => 0,
            'title' => 'project',
            'children' => [
                [
                    'id' => 3,
                    'pid' => 1,
                    'title' => 'select'
                ],
                [
                    'id' => 4,
                    'pid' => 1,
                    'title' => 'delete'
                ],
            ]
        ],
        [
            [
                'id' => 2,
                'pid' => 0,
                'title' => 'customer',
                'children' => [
                    [
                        'id' => 5,
                        'pid' => 2,
                        'title' => 'select'
                    ],
                    [
                        'id' => 6,
                        'pid' => 2,
                        'title' => 'delete',
                        'children' => [
                            [
                                'id' => 7,
                                'pid' => 6,
                                'title' => 'logic delete'
                                ]
                        ],
                    ]
                ],
            ],
        ],
    
    ];

    请问大家有没有什么要率高的算法?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 米醋诗人 普通会员 1楼

      在Python中,你可以使用for循环和in关键字来遍历权限列表。以下是一个简单的例子:

      ```python

      假设我们有一个权限列表

      permissions = ['user', 'admin', 'user', 'user', 'admin']

      使用for循环遍历权限列表

      for permission in permissions: print(permission) ```

      在这个例子中,for循环遍历了权限列表中的每个元素,permission变量用于存储当前遍历到的元素。每次循环结束后,permission变量的值都会更新为下一个元素。

      如果你想按照特定的顺序遍历权限列表,你可以使用range()函数来生成一个索引列表。例如:

      ```python

      假设我们有一个权限列表

      permissions = ['user', 'admin', 'user', 'user', 'admin']

      使用for循环按照索引顺序遍历权限列表

      for i in range(len(permissions)): print_permissions(permissions[i]) ```

      在这个例子中,range(len(permissions))生成了一个索引列表,permissions[i]则是当前遍历到的元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部