下面的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