工作中用到了一个相关的问题,搜索了百度有好多种方法,但是不同方法对应的函数不同,试了几个发现还是下面这个比较好用:
array_multisort($sortarray,SortRank,$sortlist)
$sortarray是用来存储排序字段的数组,SortRank是排序条件,有以下两种:
1.SORT_ASC - 默认,按升序排列。(A-Z)
2.SORT_DESC - 按降序排列。(Z-A)
$sortlist是需要排序的数组,以遇到的问题为例:
list = [{"name": "首页","sort": 1},{"name": "企业管理","sort": 2},{"name": "订单管理","sort": 3}]
foreach($list as $list2){
$sort[]=$list2["sort"];
}
array_multisort($sort,SORT_ASC,$list);
PS:第一次用这个方法的时候以为需要 $new_list = array_multisort($sort,SORT_ASC,$list),
其实不需要,这个函数排序过后,直接使用list即可,否则强行取变量取出来的可能只有true或者false
PS +1 :这个方法其实比较适用于二维数组,维数增多以后用起来是个灾难。。。