我有这个数组
array
0 =>
array
'start_date' => string '2012-11-14' (length=10)
'end_date' => string '2012-11-19' (length=10)
1 =>
array
'start_date' => string '1980-10-10' (length=10)
'end_date' => string '1980-10-10' (length=10)
2 =>
array
'start_date' => string '2012-11-20' (length=10)
'end_date' => string '2099-10-10' (length=10)
我想在start_date上对它进行排序。我不认为sort()方法适用于它。有什么想法吗?
答案 0 :(得分:2)
您可以使用usort
:
usort($array, function($a, $b) {
//return strtotime($a['start_date']) - strtotime($b['start_date']);
return strcmp($a['start_date'], $b['start_date']);
});
function startDateCmp($a, $b) {
//return strtotime($a['start_date']) - strtotime($b['start_date']);
return strcmp($a['start_date']), $b['start_date']);
}
usort($array, 'startDateCmp');
答案 1 :(得分:1)
使用usort
并提供您自己的功能来进行排序。
function cmp($a, $b)
{
return $b['start_date'], $a['start_date'];
}
usort($array, "cmp");