Мой исходный массив представляет собой двумерный массив.
Я хочу извлечь все различные значения (имя ключа — ParentMenu) в качестве имени ключа нового двумерного массива.
При этом старый массив будет значением нового массива
Что мне делать и как?
Ниже приведен пример массива.
//the menuList is get from mysql result
$menuList = array(
0=>array(
'navId' =>1,
'parentMenu' => 'HOME', //Previous Menu
'subMenu' => 'SHOW USER', //Sub Menu
'ctrl' => 'Index',
'action' => 'index'
),
1=>array(
'navId' =>2,
'parentMenu' => 'HOME',
'subMenu' => 'MODIFY PASSWORD',
'ctrl' => 'Modify',
'action' => 'index'
),
2=>array(
'navId' =>3,
'parentMenu' => 'ITEM LIST',
'subMenu' => 'CURRENT LIST',
'ctrl' => 'Current',
'action' => 'index'
),
3=> array(
'navId' =>4,
'parentMenu' =>'ITEM LIST',
'subMenu' =>'HISTORY LIST',
'ctrl' =>'History',
'action' =>'index'
)
);
После обработки списка меню мне нужен новый список меню, как показано ниже.
$newMenu = array(
/*parentMenu's value to be key*/
'HOME' => array(
array('navId' => 1,'subMenu' => 'SHOW USER' ,'ctrl' =>'Index', 'action' => 'index'),
array('navId' => 2,'subMenu' => 'MODIFY PASSWORD','ctrl' => 'Modify' ,'action' => 'index')
),
'ITEM LIST' => array(
array('navId' => 3,'subMenu' => 'CURRENT LIST','ctrl' => 'Current', 'action' =>'index'),
array('navId' => 4, 'subMenu' => 'HISTORY LIST', 'ctrl' => 'History', 'action' => 'index')
)
);
Подробнее здесь: https://stackoverflow.com/questions/159 ... each-group
Группируйте строки 2d-массива по столбцу и помещайте строки как подмассивы каждой группы ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение