PHP之对二维数组进行重新排序
$Arrzong[0] = array( "id" => '1', "px" => '1', ); $Arrzong[1] = array( "id" => '0', "px" => '2', ); $Arrzong[2] = array( "id" => '2', "px" => '0', ); //我们可以看到此时数组里面元素的排序是乱的,如果需要按照id的降序怎么排序呢?
关键函数:PHP array_multisort() 函数
// 重新拍排序 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)){
arr as $k => $v){
//需要排序的列表
k] =
key];
}
//执行排序
array_multisort($arrPX1, $px, $arr);
}
return arr; } //使用 arrb = _px($arrb, “nianling”, SORT_ASC);
`
————————————————
版权声明:本文为CSDN博主「亚历山大海」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44936767/article/details/112144491
- 点赞
- 收藏
- 关注作者
评论(0)