對下面數組中欄位menu_order排序,怎麼解??????
Array
(
[menu] => Array ( [0] => Array ( [menu_name] => 首頁 [login_menu_name] => [icon] => glyphicon glyphicon-home [menu_href] => /api/1ek2n5gsut/shop/ [login_menu_href] => /api/1ek2n5gsut/shop/ [bind_action_attr] => 0 [menu_order] => 4 ) [1] => Array ( [menu_name] => 我要分銷 [login_menu_name] => 分銷中心 [icon] => glyphicon glyphicon-indent-left [menu_href] => /api/1ek2n5gsut/distribute/join/ [login_menu_href] => /api/1ek2n5gsut/distribute/ [bind_action_attr] => 1 [menu_order] => 3 ) [2] => Array ( [menu_name] => 購物車 [login_menu_name] => [icon] => glyphicon glyphicon-shopping-cart [menu_href] => /api/1ek2n5gsut/shop/cart/ [login_menu_href] => /api/1ek2n5gsut/shop/cart/ [bind_action_attr] => 2 [menu_order] => 1 ) [3] => Array ( [menu_name] => 個人中心 [login_menu_name] => [icon] => glyphicon glyphicon-user [menu_href] => /api/1ek2n5gsut/shop/member/ [login_menu_href] => /api/1ek2n5gsut/shop/member/ [bind_action_attr] => 0 [menu_order] => 1 ) [4] => Array ( [menu_name] => 分類 [login_menu_name] => [icon] => glyphicon glyphicon-th-list [menu_href] => /api/1ek2n5gsut/shop/3//allcategory/ [login_menu_href] => /api/1ek2n5gsut/shop/3//allcategory/ [bind_action_attr] => 0 [menu_order] => ) )[method] =>
)
回複內容:
對下面數組中欄位menu_order排序,怎麼解??????
Array
(
[menu] => Array ( [0] => Array ( [menu_name] => 首頁 [login_menu_name] => [icon] => glyphicon glyphicon-home [menu_href] => /api/1ek2n5gsut/shop/ [login_menu_href] => /api/1ek2n5gsut/shop/ [bind_action_attr] => 0 [menu_order] => 4 ) [1] => Array ( [menu_name] => 我要分銷 [login_menu_name] => 分銷中心 [icon] => glyphicon glyphicon-indent-left [menu_href] => /api/1ek2n5gsut/distribute/join/ [login_menu_href] => /api/1ek2n5gsut/distribute/ [bind_action_attr] => 1 [menu_order] => 3 ) [2] => Array ( [menu_name] => 購物車 [login_menu_name] => [icon] => glyphicon glyphicon-shopping-cart [menu_href] => /api/1ek2n5gsut/shop/cart/ [login_menu_href] => /api/1ek2n5gsut/shop/cart/ [bind_action_attr] => 2 [menu_order] => 1 ) [3] => Array ( [menu_name] => 個人中心 [login_menu_name] => [icon] => glyphicon glyphicon-user [menu_href] => /api/1ek2n5gsut/shop/member/ [login_menu_href] => /api/1ek2n5gsut/shop/member/ [bind_action_attr] => 0 [menu_order] => 1 ) [4] => Array ( [menu_name] => 分類 [login_menu_name] => [icon] => glyphicon glyphicon-th-list [menu_href] => /api/1ek2n5gsut/shop/3//allcategory/ [login_menu_href] => /api/1ek2n5gsut/shop/3//allcategory/ [bind_action_attr] => 0 [menu_order] => ) )[method] =>
)
$row) { $menu_order[$key] = $row['menu_order'];}// 將資料根據menu_order升序排列// 把 $menu 作為最後一個參數,以通用鍵排序array_multisort($menu_order, SORT_ASC, $menu);
參照:http://php.net/manual/ja/function.array-multisort.php
使用自訂排序
usort($menu, function($a, $b) { return $a['menu_order'] < $b['menu_order'] ? -1 : 1;});
自訂排序 找到對應節點的值比較就行了吧