我有一个以自定义顺序从 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
)
九州编程
TA贡献1785条经验 获得超4个赞
$a[0] < $b[0] 为我工作。
usort($array, function($a, $b) {
return $a[0] < $b[0];
});
- 2 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消