如何在php中使用从API检索到的数据按降序排序数组



我使用API从他们的服务器获取数据,但是我试图按降序对数据进行排序。原来,这些消息显示最老的一个在前,最新的最后,在底部,我使用排序,但它只显示最新的消息,不显示任何其他以前的消息,所以只有一个消息显示

你的代码是这样解释的:

foreach($arr['messages'] as $message) {
    arsort ($message);
}
echo ($message['number'])."<br />";echo ($message['message'])."<br />";echo ($message['date'])."<br /><br />"; 

因为您在哪里拨打了电话。改成这样:

arsort ($message);
foreach($arr['messages'] as $message) {
    echo ($message['number'])."<br />";echo ($message['message'])."<br />";echo ($message['date'])."<br /><br />";    
}

应该是这样的…您需要在foreach结构之外添加arsort()

    $arr = json_decode($response, true); 
    arsort ($arr['messages']);
    foreach($arr['messages'] as $message)
    { 
    echo ($message['number'])."<br />";echo ($message['message'])."<br />";echo ($message['date'])."<br /><br />"; 
    }

EDIT :

使用array_multisort

对日期进行排序
foreach ($message as $k => $v) {
    $dtorder[$k]  = strtotime($v['date']);
}
array_multisort($dtorder, SORT_DESC, $message);

最新更新