使用PHP对数组排序-按键值分组

使用PHP对数组排序-按键值分组,php,Php,我通过运行cURL操作获取数据,然后使用: <?php $data = json_decode($result, true); print_r($data) ?> 是否可以按日期对我的结果进行分组 我可以这样显示我的结果: <?php foreach($data as $entry){ echo $entry['id']; } ?> 但是,我想按$entry['date'] 如何实现这一点?下面将按日期按升序对数组进行排序。 uasort(

我通过运行cURL操作获取数据,然后使用:

<?php
    $data = json_decode($result, true);
    print_r($data)
?>
是否可以按日期对我的结果进行分组

我可以这样显示我的结果:

<?php
foreach($data as $entry){
    echo $entry['id'];
}
?>

但是,我想按
$entry['date']


如何实现这一点?

下面将按日期按升序对数组进行排序。
uasort($data, function($a, $b) {
    return strtotime($a['date']) > strtotime($b['date']);
});

_编辑:我可能误解了这个问题,因此如果目的是仅检索单独数组中的日期,请执行以下操作:

$dates=array_列($data,'date');
如果需要在此之后排序的日期,则通过如下方式传递
$dates
数组,执行上面的
usort
示例:

usort($dates,function($x,$y){
返回strotime($x)-strotime($y);
});

您想将它们排序为客户端(javascript)还是服务器端(php)。“这有点不同……”基里莫道歉。我想用PHP排序。将修改问题。因此请删除javascript标记。这超出了范围,这应该是您的第一篇文章,只有当您完全用尽了这些选项或尝试实现一个选项时,您才应该在这里寻求帮助,否则它看起来像是一个difm查看uasort。也许它是对您想要实现的堆栈溢出的响应!虽然这段代码可以回答这个问题,但最好包含一些上下文,解释它是如何工作的以及何时使用它。从长远来看,只使用代码的答案往往不太有用。有关更多信息,请参阅。请解释您的答案。数组的排序如何按任何键进行分组?@常识我添加了一个解释和备选方案,以防我误解问题。@nico haase我添加了一个备选方案,仅将日期分配给新数组。我可能误解了op中“组”的含义,所以我提供了另一种选择。
uasort($data, function($a, $b) {
    return strtotime($a['date']) > strtotime($b['date']);
});
usort($data, function ($x,$y) {
    return strtotime($x['date']) - strtotime($y['date']);
});