У меня есть массив, подобный следующему, и я должен упорядочить как основной массив, так и вложенный массив на row_order
$all_menu_items = array_merge($main_menu, $sub_menu);
$parent_items = array();
$sub_items = array();
foreach ($all_menu_items as $m1) {
if ($m1['menu_parent'] == 0) {
$parent_items[$m1['menu_id']] = $m1;
}
}
// GROUP SUB MENU ITEMS BY PARENT MENU ITEM
foreach ($all_menu_items as $m2) {
if ($m2['menu_parent'] != 0) {
$sub_items[$m2['menu_parent']][$m2['menu_id']] = $m2;
}
}
foreach ($parent_items as $kp1 => $p1) {
if (!empty($sub_items[$p1['menu_id']])) {
$parent_items[$kp1]['sub_items'] = $sub_items[$p1['menu_id']];
}
}
Вот выход из $parent_items
[23] => Array
(
[menu_title] => Professional Review
[menu_id] => 23
[row_order] => 5
[sub_items] => Array
(
[28] => Array
(
[menu_title] => CPD Course Log
[menu_id] => 28
[menu_parent] => 23
[menu_level] => 2
[menu_icon] => fa-circle-o
[menu_path] => 404
[permission_id] => 725
[row_order] => 9
)
[31] => Array
(
[menu_title] => A Paper
[menu_id] => 31
[menu_parent] => 23
[menu_level] => 2
[menu_icon] => fa-circle-o
[menu_path] => pr-a-papers
[permission_id] => 720
[row_order] => 4
)
и я попробовал это и не могу сделать это, пожалуйста, помогите
usort($myArray, function($a, $b) {
return $a['row_order'] <=> $b['row_order'];
});