我使用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);