Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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_Sorting_Date Sorting - Fatal编程技术网

Php 合并多维数组,然后按二级项排序

Php 合并多维数组,然后按二级项排序,php,arrays,sorting,date-sorting,Php,Arrays,Sorting,Date Sorting,所以我得到了这些有趣的多维数组,我需要对它们进行合并和排序 这里有一个例子 $arr1 = array( array( 'date' => '2014-08-14 18:07:28', 'message' => "Hi there!" ), array( 'date' => '2014-08-14 17:07:28', 'message' => "Hi there!" ) );

所以我得到了这些有趣的多维数组,我需要对它们进行合并和排序

这里有一个例子

$arr1 = array(
    array(
        'date' => '2014-08-14 18:07:28',
        'message' => "Hi there!"
    ),
    array(
        'date' => '2014-08-14 17:07:28',
        'message' => "Hi there!"
    )
);

$arr2 = array(
    array(
        'date' => '2014-08-14 18:01:28',
        'message' => "Hi there!"
    ),
    array(
        'date' => '2014-08-14 11:07:28',
        'message' => "Hi there!"
    )
);
我需要按照新数组中最新的at项0的日期对它们进行排序

我们一直在尝试使用usort和自定义函数,但运气不太好

这是我现在得到的自定义函数

function compareDate($ad, $bd) 
{
    $ad_time = strtotime($ad['date']);
    $bd_time = strtotime($bd['date']);
    return ($ad_time - $bd_time);
}
如何改进此功能

这里是我合并和排序的地方

$mergedarray = array_merge($array1, $array2);
usort($mergedarray, 'compareDate');

你在用usort吗?你能包含这个代码吗?刚刚把我的usort添加到帖子中。你目前的结果是什么?尝试:由于您使用的是人类格式的日期,而不是一个奇怪的中端的东西,尝试使用str_comp函数作为示例2,在我修复了所有变量名arr1 vs.array1等之后,您的代码在我的测试中工作得很好。我会确保您有错误报告,包括所有通知!为了确保你没有混淆变量或操作空的东西。Maniac,我只是在帖子中更改了代码中的变量名,因为这看起来很奇怪。奇怪的是它对你有用。我将尝试获得它给我的输出。