Я работаю с системой разрешений, в которой мне нужно преобразовать массив одного уровня (разделенный символами подчеркивания) в многомерный массив. Любая помощь с функцией, которая исправляет это?PHP Преобразование массива
Входной массив:
Array
(
[0] => dashboard
[1] => dashboard_read
[2] => dashboard_update
[3] => dashboard_create
[4] => dashboard_delete
[5] => dashboard_search
[6] => timeplan_event_read
[7] => timeplan_event_search
[8] => timeplan_read
[9] => timeplan_search
[10] => webhotel
[11] => webhotel_read
[12] => webhotel_update
[13] => webhotel_create
[14] => webhotel_delete
[15] => webhotel_search
)
Выходной массив:
array(
'dashboard' => array(
'read',
'update',
'create',
'delete',
'search'
),
'timeplan' =>array(
'read',
'search',
'event' => array(
'read',
'search'
)
),
'webhotel' =>array(
'read',
'update',
'create',
'delete',
'search'
),
)
Я думаю, вы должны пойти с 'foreach' петли и' взрываются ('_', ...) '. – TiMESPLiNTER
Я бы порекомендовал вам придумать более однородную структуру. В настоящее время трудно предсказать, является ли данное разрешение ключом массива с дополнительными ключами или значением. Это будет больно работать. Что-то вроде '['name' => .., 'children' => [..]]' упростит это. Здесь могут помочь и некоторые классы. – deceze
Как намек на будущее, его довольно приятно, если вы можете предоставить свои входные данные как исходный код с возможностью копирования. – take