我有一个以自定义顺序从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];
没有任何效果。有帮助吗?
答案 0 :(得分:2)
这有效(用于$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
)
答案 1 :(得分:1)