[英]How do i sort an array of array in PHP?
嗨,我有下面的strustrue
[1] => Array
(
[menuName] => Apps
[menuUrl] => /Apps
[Invisible_Mode] =>
[subMenu] => Array
(
[0] => Array
(
[subMenuName] => Collaboration
[subMenuUrl] => /Apps/Collaboration
[subitemCount] => 5
[Invisible_Mode] =>
)
[1] => Array
(
[subMenuName] => Sales
[subMenuUrl] => /Apps/Sales
[subitemCount] => 11
[Invisible_Mode] =>
)
[2] => Array
(
[subMenuName] => Project Management
[subMenuUrl] => /Apps/Project-Management
[subitemCount] => 5
[Invisible_Mode] =>
)
[3] => Array
(
[subMenuName] => Human Resources
[subMenuUrl] => /Apps/Human-Resources
[subitemCount] => 7
[Invisible_Mode] =>
)
[4] => Array
(
[subMenuName] => Marketing
[subMenuUrl] => /Apps/Marketing
[subitemCount] => 8
[Invisible_Mode] =>
) ) )
我需要像下面的数组(使用上面的数组),
[1] => Array
(
[menuName] => Apps
[menuUrl] => /Apps
[Invisible_Mode] =>
[subMenu] => Array
(
[Collaboration] => Array
(
[subMenuName] => Collaboration
[subMenuUrl] => /Apps/Collaboration
[subitemCount] => 5
[Invisible_Mode] =>
)
[Sales] => Array
(
[subMenuName] => Sales
[subMenuUrl] => /Apps/Sales
[subitemCount] => 11
[Invisible_Mode] =>
)
[Project Management] => Array
(
[subMenuName] => Project Management
[subMenuUrl] => /Apps/Project-Management
[subitemCount] => 5
[Invisible_Mode] =>
)
[Human Resources] => Array
(
[subMenuName] => Human Resources
[subMenuUrl] => /Apps/Human-Resources
[subitemCount] => 7
[Invisible_Mode] =>
)
[Marketing] => Array
(
[subMenuName] => Marketing
[subMenuUrl] => /Apps/Marketing
[subitemCount] => 8
[Invisible_Mode] =>
) ) )
我怎样才能做到这一点?
看起来您不需要排序,但需要重新编制索引。 具体来说就是这样。
试试这个代码:
$original_array = array(
// your array
);
$new_array = array();
foreach ($original_array as $menu_item)
{
if (!empty($menu_item['subMenu']))
{
$reindexed_sub_menu = array();
foreach ($menu_item['subMenu'] as $sub_menu_item)
{
$reindexed_sub_menu[$sub_menu_item['subMenuName']] = $sub_menu_item;
}
// if you need to sort submenu by new key enable next line
// ksort($reindexed_sub_menu);
$menu_item['subMenu'] = $reindexed_sub_menu;
}
$new_array[] = $menu_item;
}
// new array is in $new_array :)
我找到答案
foreach($menuCategories as $menuc1) {
foreach($menuc1['subMenu'] as $mc1) {
$key = $mc1['subMenuName'];
$final[$key] = $mc1;
ksort($final);
}
}
是工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.