我在PHP 7中有一个工作排序代码
usort($ferr, function($a, $b) {
$retval = $b['value'] <=> $a['value'];
if($retval == 0) {
$retval = $b['subvalue'] <=> $a['subvalue'];
}
return $retval;
});
但PHP 5.5
不支持<=>
运算符。它仅支持-
运算符,在这种情况下不起作用。如何在PHP 5.5
中完成?
谢谢你的帮助。
答案 0 :(得分:0)
您可以为太空飞船<=>
运算符创建自己的函数,如下所示:
function spaceship($a, $b) {
return $a < $b ? -1 : ($a > $b ? 1 : 0);
}
usort($ferr, function ($a, $b) {
$retval = spaceship($b['value'], $a['value']);
if ($retval == 0) {
$retval = spaceship($b['subvalue'], $a['subvalue']);
}
return $retval;
});