Я публикую этот вопрос, так как не нашел решения при поиске здесь. вот мой вопрос
У меня есть массив, поступающий после отправки данных со страницы просмотра, это список продуктов, которые пользователь выбрал для бронирования определенных дат (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, теперь он снова должен стать двумя разными заказами.
Пожалуйста, дайте какое-нибудь решение, так как я застрял здесь.