PHP之对二维数组进行重新排序

举报
Sdog 发表于 2021/07/27 18:42:20 2021/07/27
【摘要】 $Arrzong[0] = array( "id" => '1', "px" => '1', ); $Arrzong[1] = array( "id" => '0', "px" => '2', ); $Arrzong[2] = array( "id" => '2', "px" => '0', ); //我们可以看到此时数组里面元素的排序是乱的,如果需要按照id的降序怎么排序呢?关...

$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)){
a r r P X 1 = a r r a y ( ) ; f o r e a c h ( arrPX1 = array(); foreach ( arr as $k => $v){
//需要排序的列表
a r r P X 1 [ arrPX1[ k] = v [ v[ 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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。