我有一個對象實例數組,我需要根據對象返回的函數對它們進行排序。按對象變量排序對象數組,鍵被替換
所以基本上我的對象有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