Я публикую этот вопрос, так как не нашел решения при поиске здесь.
Вот мой вопрос
У меня есть массив, поступающий после отправки данных со страницы просмотра, это список продуктов, которые пользователь выбрал для бронирования определенных дат (start_date и end_date).
как будто он мог выбрать 3 разных товара в одну и ту же дату или все 3 товара в разные даты, даты начала и возврата.
Теперь у меня есть массив, в котором у меня есть все продукты, выбранные пользователем с start_date и end_date и другой информацией, связанной с продуктом.
Прежде чем хранить эти продукты как ЗАКАЗЫ, мне нужно проверить
Если несколько продуктов имеют одинаковые start_date и end_date, тогда он становится один заказ .
Если несколько продуктов имеют разные start_date и end_date, то становится разных заказов .
Теперь, как я буду проверять, имеют ли эти продукты одинаковые start_date и end_date или разные?
например .. это массив
Array
(
[0] => Array
(
[product_id] => 15
[start_date] => 2019-05-15
[end_date] => 2019-05-16
[status] => in_stock
)
[1] => Array
(
[product_id] => 16
[start_date] => 2019-05-15
[end_date] => 2019-05-16
[status] => out_of_stock
)
[2] => Array
(
[product_id] => 17
[start_date] => 2019-05-17
[end_date] => 2019-05-18
[status] => in_stock
)
)
Это 3 разных товара, здесь 2 товара забронированы на одну и ту же дату product_id [15,16] -> поэтому становится один заказ .
И другой product_id номер 17 становится одним вторым заказом.
Редактировать ...
Я добавил статус в массив, скажем, у меня есть 2 заказа на одну и ту же дату product_id [15,16], теперь он должен сортироваться по двум условиям,
Если несколько ордеров имеют одинаковые start_date и end_date, то он становится единичным ордером / массивом, чего я достиг, используя принятый ответ.
Теперь, скажем, после сортировки я получаю массив, в котором у меня есть 2 разных продукта, один из которых in_stock , а другой out_of_stock , теперь он снова должен стать двумя разными заказы.
Пожалуйста, дайте какое-нибудь решение, так как я застрял здесь.