下面的usort函数并不总是给出正确的结果,因为它只会相对于比较的项目向上或向下“推”一个位置。因此,当执行多次分类时,结果Yes No Yes No
可能发生。使用usort对多维数组进行排序
函数成功排序字段b。
我该如何解决这个问题?
阵列
[0] => array("a"=>"Yes","b"=>"apple"...);
[1] => array("a"=>"Yes","b"=>"banana"...);
[2] => array("a"=>"No","b"=>"lemon"...);
[3] => array("a"=>"No","b"=>"grape"...);
...
当前功能
function sortAnserDesc($x, $y){
if ($x['a'] == $y['a'])
return 0;
else if ($x['a'] < $y['a'])
return 1;
else
return -1;
}
我不能重现你在说什么。对我而言,它有效。你使用什么PHP版本?你怎么调用usort函数? – 2011-06-09 13:17:07
我手动编写了数组,您应该能够在对包含yes或no的6个以上字段进行排序时重现错误。 – Joseph 2011-06-11 16:16:45