[英]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.