微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按php数组排序

我需要通过getNotifications函数中的值’start_date’DESC顺序对通知数组进行排序:

$posts_id_arr = getPoststIds($conn);

foreach ($posts_id_arr as $key => $val) {
  $total_arr[$key] = [
    'notification' => getNotifications($val['post_id'],$user_id,$conn)
  ];
}

$response_array = array('data' => $total_arr,'more things' => $more_array);
echo json_encode($response_array);

现在由于foreach循环,订单是post id.

data {
       notification: 
      [
       {
        post_id: “1",start_date: "2016-10-10 08:00:00",},{
        post_id: “1",start_date: "2016-10-10 12:00:00",}
    ],notification:
      [
        post_id: “2",start_date: "2016-10-10 09:00:00",{
        post_id: “2",start_date: "2016-10-10 13:00:00",}
    ]
}

我需要它是1:08:00,2:09:00,1:12:00,2:13:00

解决方法

但是,您不需要在foreach中执行排序.

您可以尝试以下代码.相应地更改变量名称.

foreach ($points as $key => $val) {
    $time[$key] = $val[0];
}

array_multisort($time,SORT_ASC,$points);

这是因为array_multisort的工作方式.它对多个数组进行排序,当$time数组排序时,$points数组根据$time中的数组索引重新排序.但是,array_multisort应该在foreach之后希望这会有所帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐