通过密钥对大型数组进行排序的最佳方法

时间:2014-04-23 13:10:46

标签: php arrays sorting

我有一个包含大量数据的大数组,在这里你可以有一个例子:

enter image description here

此示例是否只有一个项目[0]

我需要按date中的键last_message对此数组进行排序。 (最近在第一次)

date我的格式为:"2014-04-23T14:59:53+0200"

你对我有好主意吗?我不想预约,我认为有更好的东西。

谢谢!

这是我的代码:

uasort($arrayC, function ($a, $b) {
            if ($a == $b) {
                return 0;
            }
            return (strtotime($a['last_message']->date) < strtotime($b['last_message']->date)) ? -1 : 1;
        });

但是对我的阵列没有影响..

2 个答案:

答案 0 :(得分:3)

您可以使用http://www.php.net/manual/en/function.uasort.php并为其提供比较日期的自定义功能。

这看起来像这样:

function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return (strtotime($a['last_message']['date']) < strtotime($b['last_message']['date'])) ? -1 : 1;
    }

uasort($array, 'cmp');

答案 1 :(得分:0)

您需要使用PHP的uasort()函数。手册页位于http://www.php.net/manual/en/function.uasort.php