如何在PHP中的end_time值上有效地排序这个数组(最近的项目)?
array
0 =>
array
'value' => int 4
'end_time' => string '2012-01-20T08:00:00+0000' (length=24)
1 =>
array
'value' => int 0
'end_time' => string '2012-01-21T08:00:00+0000' (length=24)
2 =>
array
'value' => int 5
'end_time' => string '2012-01-22T08:00:00+0000' (length=24)
3 =>
array
'value' => int 4
'end_time' => string '2012-01-23T08:00:00+0000' (length=24)
4 =>
array
'value' => int 7
'end_time' => string '2012-01-24T08:00:00+0000' (length=24)
解决方法:
你看过usort
Docs的功能了吗?它允许您定义回调函数以比较两个值.所以我建议沿着这些方向做点什么:
function compare_func($a, $b)
{
// CONVERT $a AND $b to DATE AND TIME using strtotime() function
$t1 = strtotime($a["end_time"]);
$t2 = strtotime($b["end_time"]);
return ($t2 - $t1);
}
usort(main_array, "compare_func");