使用 usort() 和 sort() 函数对日期数组进行排序



可能的重复项:
使用 usort() 和 sort() 函数按 mktime() 转换的时间戳对日期数组进行排序

我尝试仅使用 sort() 和 usort() 对日期数组进行排序 - 而不使用 mktime()。我正在尝试比较月,日和年,但无法获得正确的结果,而且它给了我一堆警告。将不胜感激任何帮助。

$dates = array ('10-10-2003', '2-17-2002', '2-16-2003','1-01-2005', '10-10-2004' );
function toTime($date) {
return sort ($date, SORT_STRING);
}
function sortByTime($a, $b) {
$a = toTime($a);
$b = toTime($b);
if($a == $b) {
    return 0;
}
return $a < $b ? -1 : 1 ;
}
usort($dates, 'sortByTime');
print_r($dates);

非常感谢。

使用 UKSORT 通过回调按键排序

在回调中,只需将日期解析为时间戳并使用简单的比较

须藤代码 :

function cmp($a, $b)
{
    global $array;
    return strcmp($array[$a]['db'], $array[$b]['db']);
}
uksort($array, 'cmp');

最新更新