权限列表的循环

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

$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'
                            ]
                    ],
                ]
            ],
        ],
    ],

];

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

红颜莎娜
浏览 365回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP