我有一个对象实例数组,我需要根据对象返回的函数对它们进行排序。按对象变量排序对象数组,键被替换
所以基本上我的对象有2个变量,函数将它们加在一起,然后返回结果,对象列表需要根据这个排序。
我的排序代码:
function cmp($a, $b)
{
if ($a->calcPoints() == $b->calcPoints()) {
return 0;
}
return ($a->calcPoints() > $b->calcPoints()) ? -1 : 1;
}
usort($teamData, "cmp");
如果不使用usort功能倾倒我的数组时,我得到如下:
键: “赫尔城FC” 价值: { “赢”: 3,“draw”:2,“loss”:8,“goalFor”:11,“goalConc”:28}键:“Leicester City FC”价值:{“win”:3,“draw”:4,损失“:6,”goalFor“:16,”goalConc“:22}
一旦我用了usort功能,我的钥匙被替换,像这样:
键:0值:{ “赢”:10, “画”:1, “损失”:2, “goalFor”: 29, “goalConc”:10} 键:1个值:{ “赢”:9, “画”:3, “损失”:1, “goalFor”:29, “goalConc”:12}
我该如何解决这个问题?
您是否尝试使用[uasort](http://php.net/手动/ EN/function.uasort.php)? – segFault