Array ( [0] => Array ( [dateTime] => 2011-10-18 0:0:00 [chanl1] => 20.7 [chanl2] => 45.4 [chanl3] => ) [1] => Array ( [dateTime] => 2011-10-18 0:15:00 [chanl1] => 20.7 [chanl2] => 45.4 [chanl3] => ) [2] => Array ( [dateTime] => 2011-10-18 00:14:00 [chanl1] => 20.7 [chanl2] => 33.8 [chanl3] => ) [3] => Array ( [dateTime] => 2011-10-18 00:29:00 [chanl1] => 20.6 [chanl2] => 33.9 [chanl3] => )
我想根据[dateTime]对上述数组进行排序,最终的输出应该是:
Array ( [0] => Array ( [dateTime] => 2011-10-18 0:0:00 [chanl1] => 20.7 [chanl2] => 45.4 [chanl3] => ) [1] => Array ( [dateTime] => 2011-10-18 00:14:00 [chanl1] => 20.7 [chanl2] => 33.8 [chanl3] => ) [2] => Array ( [dateTime] => 2011-10-18 0:15:00 [chanl1] => 20.7 [chanl2] => 45.4 [chanl3] => ) [3] => Array ( [dateTime] => 2011-10-18 00:29:00 [chanl1] => 20.6 [chanl2] => 33.9 [chanl3] => )
有没有人知道怎么做?谢谢!
使用
usort()
function与自定义变体:
$arr = array(...); usort($arr,function($a,$b) { $ad = new DateTime($a['dateTime']); $bd = new DateTime($b['dateTime']); if ($ad == $bd) { return 0; } return $ad < $bd ? -1 : 1; });
DateTime类具有超载比较运算符(<> ==).