Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何按日期值对多维数组进行排序?_Php_Arrays_Multidimensional Array - Fatal编程技术网

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的答案是否解释了这一点,但我更容易理解这个函数。谢谢