繁体   English   中英

按键对大数组排序的最佳方法

[英]Best way to sort a big array by a key

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

在此处输入图片说明

在此示例中,您只有一项[0]

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

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;
        });

但是对我的数组没有影响。

您可以使用http://www.php.net/manual/zh/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');

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM