@xlo240

Как выбрать наименьшую дату в цикле?

В цикле выводятся 3 или более дат. Как выбрать из них самую раннюю?
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro Куратор тега PHP
frontend developer
списокДат = []
минДата = списокДат[0]

цикл дата из списокДат
  если дата < минДата то
    минДата = дата
  конецЕсли
конецЦикла

Показать( минДата )
Ответ написан
Комментировать
hrabry
@hrabry
<?php

$format = 'Год: Y, Месяц: m, День: d';

$dates = [new DateTime('2020-10-20'), new DateTime('2000-02-05'), new DateTime('2000-02-02'), new DateTime('2000-05-01')];

usort($dates, fn($a, $b) => $a < $b ? -1: 1);

//Самая ранняя будет: $dates[0]->format($format);

foreach($dates as $date) {
    var_dump($date->format($format)); 
}


var_dump('Min: ' . $dates[0]->format($format));
var_dump('Max: ' . $dates[count($dates) - 1]->format($format));


string(42) "Год: 2000, Месяц: 02, День: 02"
string(42) "Год: 2000, Месяц: 02, День: 05"
string(42) "Год: 2000, Месяц: 05, День: 01"
string(42) "Год: 2020, Месяц: 10, День: 20"

string(47) "Min: Год: 2000, Месяц: 02, День: 02"
string(47) "Max: Год: 2020, Месяц: 10, День: 20"


https://3v4l.org/sVdO8
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы