Php 如何根据“a”排列此数组;“家长”;指数
有一个Php 如何根据“a”排列此数组;“家长”;指数,php,Php,有一个数组: Array ( [0] => Array ( [0] => Array ( [menu_id] => 131 [gmnu_code] => 5 [menu_lib] => global.menu.admin.profil
数组
:
Array
(
[0] => Array
(
[0] => Array
(
[menu_id] => 131
[gmnu_code] => 5
[menu_lib] => global.menu.admin.profil
[menu_image] =>
[menu_ordre] => 1
[menu_visible] => 1
[menu_deleted] =>
[menu_parent] => 1
[menu_controlleur] => AdminProfil
[menu_navigation] => profil.list.titre
)
[1] => Array
(
[menu_id] => 184
[gmnu_code] => 5
[menu_lib] => global.menu.admin.users
[menu_image] =>
[menu_ordre] => 2
[menu_visible] => 1
[menu_deleted] =>
[menu_parent] => 1
[menu_controlleur] => AdminUsers
[menu_navigation] => users.list.titre
)
[2] => Array
(
[menu_id] => 130
[gmnu_code] => 5
[menu_lib] => global.menu.param.societe
[menu_image] =>
[menu_ordre] => 3
[menu_visible] => 1
[menu_deleted] =>
[menu_parent] => 1
[menu_controlleur] => AdminSociete
[menu_navigation] => societe.ajout.modif.titre
)
[3] => Array
(
[menu_id] => 132
[gmnu_code] =>
[menu_lib] =>
[menu_image] =>
[menu_ordre] =>
[menu_visible] =>
[menu_deleted] =>
[menu_parent] => 131
[menu_controlleur] => AdminProfil/ajouter
[menu_navigation] => profil.titre.ajout
)
[4] => Array
(
[menu_id] => 133
[gmnu_code] =>
[menu_lib] =>
[menu_image] =>
[menu_ordre] =>
[menu_visible] =>
[menu_deleted] =>
[menu_parent] => 131
[menu_controlleur] => AdminProfil/modifier
[menu_navigation] => profil.titre.modif
)
[5] => Array
(
[menu_id] => 134
[gmnu_code] =>
[menu_lib] =>
[menu_image] =>
[menu_ordre] =>
[menu_visible] =>
[menu_deleted] =>
[menu_parent] => 131
[menu_controlleur] => AdminProfil/attribuerMenu
[menu_navigation] => profil.menu.attribution
)
[6] => Array
(
[menu_id] => 147
[gmnu_code] =>
[menu_lib] =>
[menu_image] =>
[menu_ordre] =>
[menu_visible] =>
[menu_deleted] =>
[menu_parent] => 131
[menu_controlleur] => AdminProfil/supprimer
[menu_navigation] => main.suppr.profil
)
[7] => Array
(
[menu_id] => 185
[gmnu_code] =>
[menu_lib] =>
[menu_image] =>
[menu_ordre] =>
[menu_visible] =>
[menu_deleted] =>
[menu_parent] => 184
[menu_controlleur] => AdminUsers/ajouter
[menu_navigation] => utilisateur.titre.ajout
)
[8] => Array
(
[menu_id] => 186
[gmnu_code] =>
[menu_lib] =>
[menu_image] =>
[menu_ordre] =>
[menu_visible] =>
[menu_deleted] =>
[menu_parent] => 184
[menu_controlleur] => AdminUsers/modifier
[menu_navigation] => utilisateur.titre.modif
)
[9] => Array
(
[menu_id] => 187
[gmnu_code] =>
[menu_lib] =>
[menu_image] =>
[menu_ordre] =>
[menu_visible] =>
[menu_deleted] =>
[menu_parent] => 184
[menu_controlleur] => AdminUsers/reinitMdp
[menu_navigation] => utilisateur.titre.reinit.mdp
)
[10] => Array
(
[menu_id] => 188
[gmnu_code] =>
[menu_lib] =>
[menu_image] =>
[menu_ordre] =>
[menu_visible] =>
[menu_deleted] =>
[menu_parent] => 184
[menu_controlleur] => AdminUsers/supprimer
[menu_navigation] => utilisateur.titre.suppr
)
)
...
}
在这个数组中
在数据中有父元素的概念:“menu\u parent”键意味着一个数组
是另一个数组
的子元素;数组
的“menu\u id”等于“menu\u parent”的值就是父数组
例如,在上面的示例中,具有“menu_id”的阵列131是具有“menu_id”132、133、134和147的阵列的父阵列
我想重新排列数组的排序
,这样一个特定“菜单id”的数组
的所有子项都放在它后面。如何做到这一点?为了避免歧义,假设整个数组具有以下模式:
array [
subarray_0,
subarray_1,
...
];
然后,您需要将每个子数组的内容独立于其他子数组进行排序
如果是这样,您可以这样工作:
foreach ($array as &$subarray) {
usort($subarray, function($a, $b) {
switch (true) {
case $a['menu_parent'] > $b['menu_parent']: return 1;
case $a['menu_parent'] < $b['menu_parent']: return -1;
default: return 0;
}
}
foreach($array as&$subarray){
usort($subarray,function($a,$b){
开关(真){
案例$a['menu\u parent']>$b['menu\u parent']:返回1;
案例$a['menu\u parent']<$b['menu\u parent']:返回-1;
默认值:返回0;
}
}
为了避免歧义,假设整个数组具有以下模式:
array [
subarray_0,
subarray_1,
...
];
然后,您需要将每个子数组的内容独立于其他子数组进行排序
如果是这样,您可以这样工作:
foreach ($array as &$subarray) {
usort($subarray, function($a, $b) {
switch (true) {
case $a['menu_parent'] > $b['menu_parent']: return 1;
case $a['menu_parent'] < $b['menu_parent']: return -1;
default: return 0;
}
}
foreach($array as&$subarray){
usort($subarray,function($a,$b){
开关(真){
案例$a['menu\u parent']>$b['menu\u parent']:返回1;
案例$a['menu\u parent']<$b['menu\u parent']:返回-1;
默认值:返回0;
}
}
您尝试过什么吗。发布您尝试过的内容到目前为止您尝试过什么吗。发布您尝试过的内容到目前为止您尝试过的内容