按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之后希望这会有所帮助.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...