我有一个游戏时间的列表,所以说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。我在答案中详细阐述了它。 –