$Arrzong[0] = array(
"id" => '1',
"px" => '1',
);
$Arrzong[1] = array(
"id" => '0',
"px" => '2',
);
$Arrzong[2] = array(
"id" => '2',
"px" => '0',
);
//我们可以看到此时数组里面元素的排序是乱的,如果需要按照id的降序怎么排序呢?
// 重新拍排序
if(count($Arrzong)){//获取当前数组长度
$arrPX1 = array();
//$arrPX2 = array();
foreach ($Arrzong as $k => $v){
//需要排序的列表,这里只拿id作为示例
$arrPX1[$k] = $v['id'];
//$arrPX2[$k] = $v['px'];
}
//执行排序
array_multisort($arrPX1, SORT_DESC/* ,$arrPX2, SORT_ASC*/, $Arrzong);
}
echo '<pre>';
print_r($Arrzong);
//SORT_ASC - 默认。按升序排序 (A-Z)。
//SORT_DESC - 按降序排序 (Z-A)。
注意:如果说想要id降序排序的同时,又想要px的升序排序怎么办?
把我所注释掉的释放出料就可以了,可以满足多个条件的排序!!
输出看下:
2021-05-26日更新
Array
(
[0] => Array
(
[id] => 78
[sdfanwei] => 2
[nianling] => 0
[sex] => 1
[shengao] => 52.20
[tishi] => 出生
)
[1] => Array
(
[id] => 79
[sdfanwei] => 2
[nianling] => 1
[sex] => 1
[shengao] => 56.90
[tishi] => 1个月
)
[2] => Array
(
[id] => 80
[sdfanwei] => 2
[nianling] => 2
[sex] => 1
[shengao] => 61.00
[tishi] => 2个月
)
)
function _px($arr=array(), $key="age", $px=SORT_DESC) {
if(count($arr)){
$arrPX1 = array();
foreach ($arr as $k => $v){
//需要排序的列表
$arrPX1[$k] = $v[$key];
}
//执行排序
array_multisort($arrPX1, $px, $arr);
}
return $arr;
}
//使用
$arrb = _px($arrb, "nianling", SORT_ASC);