[英]How to sort a multi-dimensional array by values which are dates?
我为此感到挣扎。 根据日期对多维数组进行排序。 这是数组的一个片段:
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
)
我想按日期以正确的顺序对键进行排序。 因此,在这种情况下, 08 February 2011
应该获得密钥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");
假设$ data是您的多维数组。
foreach ($data as $key => $row) {
$point[$key] = strtotime($row['point']);
}
// Sort the data with date ascending
array_multisort($point, SORT_ASC, $data);
请参见array_multisort函数: http : //php.net/manual/en/function.array-multisort.php (对多维数组排序非常有用)
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.