douyuan6490 2014-04-06 21:41
浏览 88
已采纳

如何按PHP中的时间值对多维数组进行排序?

I'm doing a school project and I have a multi-dimensional array having start_time and end_time of courses.

I already sorted the array by day, but I also want to sort the array by time. Such that the lowest start_time is the first element of the array.

This is how my array is at the moment:

Array ( 
       [0] => Array ( 
                     [courseID] => comp345
                     [lectureID] => ss
                     [day] => monday
                     [stime] => 18:20 
                     [etime] => 20:30 
                     [term] => winter 
                     [year] => 2014 
              )
       [1] => Array ( 
                     [courseID] => comp275 
                     [lectureID] => gg 
                     [day] => monday 
                     [stime] => 12:15 
                     [etime] => 15:16 
                     [term] => winter 
                     [year] => 2014
              )
)

I was wondering if there are any pre-defined functions to do that or if i need to create a new specific function for this task .

I can access the values of the start_time like this :

foreach ($array as $element)
{
  $start_time = (substr($element['stime'], 0, 5));
}

This will return the time in this format : 08:20

It works the same way as normal numbers when comparing such as :

08:20 < 10:15 = true

08:20 > 10:15 = false

  • 写回答

2条回答 默认 最新

  • doucao8982 2014-04-06 21:48
    关注

    PHP >= 5.5.0:

    array_multisort(array_map('strtotime', array_column($array, 'stime')), SORT_ASC, $array);
    

    PHP < 5.5.0:

    foreach ($array as $k => $v) {
      $stime[$k] = strtotime($v['stime']);
    }
    array_multisort($stime, SORT_ASC, $array);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
  • ¥15 如何能达到用ping0.cc检测成这样?如图
  • ¥15 关于#DMA固件#的问题,请各位专家解答!
  • ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
  • ¥20 微信小程序 canvas 问题
  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?