我有一個遊戲時間的列表,所以說1:05 PM,2:05 PM,7:10 PM,10:15 PM等我使用多維數組和strcmp
與usort
排序這些遊戲在從最早到最新的正確順序。uspon在PHP中的不正確結果
遊戲正在排序,但任何在晚上10點開始的遊戲都將在任何其他遊戲之前上市。所以我目前的排序是這樣的:
Dodgers 7/29/16 10:05 PM
Angels 7/29/16 10:10 PM
A's 7/29/16 10:15 PM
Cubs 7/29/16 2:20 PM
Jays 7/29/16 7:05PM
Rays 7/29/16 7:15PM
Astros 7/29/16 8:05 PM
等
IHAVE現在已經排除此爲天。我試着用strtotime()
來轉換我的日期字符串,但是usort根本不喜歡這個,我的排序變得隨機。我試圖用連字符而不是斜槓格式化日期/時間,但沒有任何變化。我已經'擦除'我的日期/時間字符串以及任何額外的字符。這裏是我的代碼:
$array[$timedate] = $string;
// Multidimensional array of 'games'
$games[] = array('date' => $timedate,
'title' => $string);
// compare the dates and times
function cmp($a, $b)
{
return strcmp($a['date'], $b['date']);
}
// Sort the array
usort($games, "cmp");
,它拋出一個錯誤,但它讓我思考的是usort是錯誤的排序方法。所以我意識到ksort(根據多維數組的關鍵字進行排序)可以做到這一點,而且確實如此。感謝您切換我的焦點。 – xar86413
好主意與ksort。我在答案中詳細闡述了它。 –