Переопределить массив на основе столбца в значении столбца дочернего массива - PHP - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть следующие ModulePermissions Array

Array
(
    [0] => Array
        (
            [module_permission_index_id] => 347
            [module_id] => 1
            [user_id] => 29
            [can_view] => 1
            [can_edit] => 1
            [can_add] => 1
        )

    [1] => Array
        (
            [module_permission_index_id] => 348
            [module_id] => 2
            [user_id] => 29
            [can_view] => 1
            [can_edit] => 1
            [can_add] => 1
        )
   ... ... ...
)

Target :

Теперь я хочу получить Array для сортировки на основе их module (ID модуля имеет несколько разрешений), что-то вроде ниже (пожалуйста, игнорируйте синтаксис и поймите идею)

   [1] => array(
       array(
            [module_permission_index_id] => 347
            [user_id] => 29
            [can_view] => 1
            [can_edit] => 1
            [can_add] => 1
       )
   )
   [2] => array(
       array(
            [module_permission_index_id] => 348
            [user_id] => 29
            [can_view] => 1
            [can_edit] => 1
            [can_add] => 1
       )
   )
   ... ... ...
)

Есть ли способ, которым PHP помогает это сделать?

1 Ответ

0 голосов
/ 22 апреля 2020

Самый простой способ:

$newData = [];
foreach ($yourData as $item) {
    $newData[$item['module_id']][] = $item;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...