为了账号安全,请及时绑定邮箱和手机立即绑定

按降序对二维数组进行排序

按降序对二维数组进行排序

PHP
料青山看我应如是 2021-11-13 16:00:05
我有一个以自定义顺序从 db 数据给出的二维数组。要对主数组进行排序,我正在使用它:usort($arr, function ($a, $b) {    return $a[0] <=> $b[0];});json_encode 结果:[["2016","0000-00-00"],["2017","0000-00-00"],["2018","0000-00-00"]]现在我需要按降序对项目进行排序,结果如下:[["2018","0000-00-00"],["2017","0000-00-00"],["2016","0000-00-00"]]我试着 return $a[0] <=> $b[0];改成这样: return $a[0] > $b[0]; return $a[0] < $b[0]; return $a[0] - $b[0]; return $b[0] <=> $a[0];什么都行不通。有什么帮助吗?
查看完整描述

2 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

这有效(用于$b[0] <=> $a[0]排序):


$array = json_decode('[["2016","0000-00-00"],["2017","0000-00-00"],["2018","0000-00-00"]]', TRUE);

usort($array, function($a, $b) { return $b[0] <=> $a[0]; });

print_r($array);

结果按降序排列:


[0] => Array

    (

        [0] => 2018

        [1] => 0000-00-00

    )


[1] => Array

    (

        [0] => 2017

        [1] => 0000-00-00

    )


[2] => Array

    (

        [0] => 2016

        [1] => 0000-00-00

    )


查看完整回答
反对 回复 2021-11-13
?
九州编程

TA贡献1785条经验 获得超4个赞

$a[0] < $b[0] 为我工作。


usort($array, function($a, $b) {

     return $a[0] < $b[0];

});


查看完整回答
反对 回复 2021-11-13
  • 2 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信