如何在php中排序日期列表?

时间:2019-07-08 07:39:06

标签: php arrays sorting date

foreach ($programs as $key => $program) {
  $mp4FullPath_date = date("F d Y H:i:s", filemtime($src_dir.DS.$mp4_files[$key])); // **Line A**
  print_r($mp4FullPath_date); //Added for debugging purpose **Line B**
}

B行在页面加载时打印以下日期/时间(也可以是三个以上。现在,是三个。):

May 01 2019 14:56:56 April 30 2019 10:21:12  April 30 2019 10:21:12

问题陈述:

我想知道我需要在 LineA LineB 之间添加什么代码,以便在 LineB 调试时将日期升序打印这样的订单:

 April 30 2019 10:21:12  April 30 2019 10:21:12 May 01 2019 14:56:56

1 个答案:

答案 0 :(得分:3)

根据我所见/理解,您正在尝试对$mp4FullPath_date进行排序,该日期是单个日期,而不是数组。

将日期添加到数组中,然后在该数组上将usort()date_sort()一起使用。

function date_sort($a, $b) {
    return strtotime($a) - strtotime($b);
}

$dates = [];
foreach ($programs as $key => $program) {
    $mp4FullPath_date = date("F d Y H:i:s", filemtime($src_dir.DS.$mp4_files[$key]));
    $dates[] = $mp4FullPath_date;
}

usort($dates, "date_sort");
echo implode(" ", $dates);