PHP切割关联数组

4
这是我的数组。
$array = array(
    "13111" => "2014-06-21 19:51:00.0000000",
    "23111" => "2014-06-20 19:51:00.0000000",
    "12111" => "2014-06-21 19:51:00.0000000",
    "23311" => "2014-06-22 19:51:00.0000000",
    "13114" => "2014-06-21 19:51:00.0000000",
    "23711" => "2014-06-20 19:51:00.0000000",
);

我该如何获取数组的前三个元素并按日期时间排序?谢谢。


从这里开始:http://www.php.net/manual/en/ref.array.php - hindmost
1
由于您没有尝试自己解决问题,看起来您正在寻找雇佣付费自由职业者为您解决问题 - h2ooooooo
你的答案在这里:https://dev59.com/GHE85IYBdhLWcg3wKwSE - Ashouri
你的答案在这里:https://dev59.com/GHE85IYBdhLWcg3wKwSE - Ashouri
1个回答

14

你想要的是:

sort($array);
$array = array_slice($array, 0, 3);

首先,sort 函数将按字典顺序对数组进行排序(在这种情况下与日期重合),然后您可以使用slice 函数获取所需元素。

编辑

如果您想保留键名,只需使用

asort($array); // "asort" instead of simple "sort"
$array = array_slice($array, 0, 3, true); // note the final "true" parameter!

它会按时间排序吗?我也使用了array_slice($array, 0, 3);,但是当我打印列表时,我的键被替换为0,1,2。 - user3754680
@user3754680 【先阅读手册】(http://us2.php.net//manual/en/function.array-slice.php)。最后一个参数。 - h2ooooooo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接