网站首页 文章专栏 PHP 二维数组排序
参数:$on 要排序的字段 $order=SORT_ASC 正序 SORT_DESC 倒序
1. 构建一个比较容易理解的函数
二维数组排序 $on 要排序的第二级元素
function array_sort($array, $on, $order = SORT_ASC) {
$new_array = array();
$sortable_array = array();
if (count($array) > 0) {
foreach ($array as $k => $v) {
if (is_array($v)) {
foreach ($v as $k2 => $v2) {
if ($k2 == $on) {
$sortable_array[$k] = $v2;
}
}
} else {
$sortable_array[$k] = $v;
}
}
switch ($order) {
case SORT_ASC:
asort($sortable_array);
break;
case SORT_DESC:
arsort($sortable_array);
break;
}
foreach ($sortable_array as $k => $v) {
array_push($new_array, $array[$k]);
}
}
return $new_array;
}
2. 借助 array_multisort
function array_sort($array, $on, $order = SORT_ASC) {
if(!$array){
return [];
}
$temp = array_column($array,$on);
array_multisort($temp ,$order, $array);
return $array;
}
转载请注明出处