PHP Сортировка многомерного массива по началу даты или, если оно равно, по концу датыPhp

Кемеровские программисты php общаются здесь
Anonymous
PHP Сортировка многомерного массива по началу даты или, если оно равно, по концу даты

Сообщение Anonymous »

Мне нужно отсортировать массив, содержащий начало и конец даты.
Для сортировки по дате начала я использую эту функцию:

Код: Выделить всё

usort($array, function($a, $b) {
return new DateTime($a['datetime'])  new DateTime($b['datetime']);
});
но если элемент имеет ту же дату начала, что и другая, мне нужно отсортировать по дате окончания.
И я не знаю, как это сделать. Что подскажете?
Пример массива

Код: Выделить всё

$array = [
0 => [
"id" => 1
"start" => 2024-07-24 05:00,
"end" => 2024-07-25 14:00
],

1 => [
"id" => 2
"start" => 2024-07-22 06:00,
"end" => 2024-07-22 08:00
],

2 => [
"id" => 3
"start" => 2024-07-27 10:00,
"end" => 2024-07-28 11:00
],

3 => [
"id" => 4
"start" => 2024-07-22 06:00,
"end" => 2024-07-22 07:00
]

]
В моем примере я ожидал, что этот идентификатор заказа: 4, 2, 1, 3 (потому что идентификаторы 4 и 2 имеют одинаковое начало, но идентификатор 4 заканчивается раньше)

Подробнее здесь: https://stackoverflow.com/questions/787 ... y-date-end

Вернуться в «Php»