Как отсортировать список дат в php? - PullRequest
0 голосов
/ 08 июля 2019
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 itнапечатать даты в порядке возрастания, например:

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

1 Ответ

3 голосов
/ 08 июля 2019

Исходя из того, что я вижу / понимаю, вы пытаетесь отсортировать $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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...