Php 如何按日期值对多维数组进行排序?
我正在努力解决这个问题。根据日期按值对多维数组进行排序。以下是数组的一个片段:Php 如何按日期值对多维数组进行排序?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我正在努力解决这个问题。根据日期按值对多维数组进行排序。以下是数组的一个片段: Array ( [0] => Array ( [clicks] => 14 [point] => 11 February 2011 ) [1] => Array ( [clicks] => 1 [point] => 14
Array
(
[0] => Array
(
[clicks] => 14
[point] => 11 February 2011
)
[1] => Array
(
[clicks] => 1
[point] => 14 February 2011
)
[2] => Array
(
[clicks] => 8
[point] => 15 February 2011
)
[3] => Array
(
[clicks] => 0
[point] => 08 February 2011
)
我想把钥匙按正确的顺序按日期分类。因此,在这种情况下,2011年2月8日的08
应该获得键0
。我尝试使用usort,但效果不佳,因为我甚至无法使用codeigniter中的回调函数,这是我正在研究的另一个问题
最有效的方法是什么?我的数组可以增加到60个条目
感谢所有人的帮助。此自定义排序应该可以:
function cmp($a, $b){
$l = strtotime($a['point']);
$r = strtotime($b['point']);
if($l == $r){
return 0;
}
return $l < $r ? -1 : 1;
}
usort($arr, "cmp");
函数cmp($a,$b){
$l=STROTIME($a['点]);
$r=标准时间($b['点]);
如果($l==$r){
返回0;
}
返回$l<$r?-1:1;
}
usort($arr,“cmp”);
假设,$data是多维数组
foreach ($data as $key => $row) {
$point[$key] = strtotime($row['point']);
}
// Sort the data with date ascending
array_multisort($point, SORT_ASC, $data);
请参阅数组\u multisort函数:(对多维数组排序非常有用)
希望这能有所帮助。这两个函数都可以工作,但我已经完成了这项工作,因为它会测试它们是否相等。我不确定Tim的答案是否解释了这一点,但我更容易理解这个函数。谢谢