Группировать 2d массив дат и значений по смежным датам с одинаковым значениемPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Группировать 2d массив дат и значений по смежным датам с одинаковым значением

Сообщение Anonymous »

У меня есть диапазон дат с 11.11.2023 по 04.01.2024, и некоторые даты имеют другое значение MinStay.
Это мой массив диапазонов дат$input = [
[ 'date' => '2023-11-01', 'MinStay' => 1 ],
[ 'date' => '2023-11-02', 'MinStay' => 1 ],
[ 'date' => '2023-11-03', 'MinStay' => 1 ],
[ 'date' => '2023-11-04', 'MinStay' => 2 ],
[ 'date' => '2023-11-05', 'MinStay' => 2 ],
[ 'date' => '2023-11-06', 'MinStay' => 2 ],
[ 'date' => '2023-12-10', 'MinStay' => 1 ],
[ 'date' => '2023-12-11', 'MinStay' => 1 ],
[ 'date' => '2023-12-12', 'MinStay' => 3 ],
[ 'date' => '2023-12-13', 'MinStay' => 2 ],
[ 'date' => '2023-12-14', 'MinStay' => 2 ],
[ 'date' => '2024-01-01', 'MinStay' => 4 ],
[ 'date' => '2024-01-02', 'MinStay' => 4 ],
[ 'date' => '2024-01-03', 'MinStay' => 4 ],
[ 'date' => '2024-01-04', 'MinStay' => 4 ],
];

И я хочу
$output = [
[ 'dateForm' => '2023-11-01', 'dateTo' => '2023-11-03', 'MinStay' => 1 ],
[ 'dateForm' => '2023-11-04', 'dateTo' => '2023-11-06', 'MinStay' => 2 ],
[ 'dateForm' => '2023-12-10', 'dateTo' => '2023-12-11', 'MinStay' => 1 ],
[ 'dateForm' => '2023-12-12', 'dateTo' => '2023-12-12', 'MinStay' => 3 ],
[ 'dateForm' => '2023-12-13', 'dateTo' => '2023-12-14', 'MinStay' => 2 ],
[ 'dateForm' => '2024-01-01', 'dateTo' => '2024-01-04', 'MinStay' => 4 ],
];

Как решить эту проблему.
Я пытаюсь использовать этот массив, но ничего не получается.
< pre class="lang-php Prettyprint-override">$arr = [];
foreach ($input as $date) {
if ($date['MinStay'] == 1) {
$arr[] = [
'dateFrom' => $date['date'],
'dateTo' => $date['date'],
'MinStay' => $date['MinStay'],
];
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... same-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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