array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。
排序顺序标志:
- SORT_ASC - 按照上升顺序排序
- SORT_DESC - 按照下降顺序排序
-
/** * 二维数组根据某个字段排序 * @param array $array 要排序的数组 * @param string $keys 要排序的键字段 * @param string $sort 排序类型 SORT_ASC SORT_DESC * @return array 排序后的数组 */ function arraySort($array, $keys, $sort = SORT_DESC) { $keysValue = []; foreach ($array as $k => $v) { $keysValue[$k] = $v[$keys]; } array_multisort($keysValue, $sort, $array); return $array; }
方法二:
- 数组$list中有 ordersum字段,按照ordersum大小来排序
-
$arr1 = array_column($list, 'ordersum');
$news = array_multisort($arr1, SORT_DESC ,SORT_NUMERIC , $list);