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);

世界上最美的风景,是自己努力的模样