и т.д. полей конечно больше, самые значимые обозначил.
Собственно вот думаю, по уму как можно сделать следующее - разбить данные на курорты по id, внутри курорта уже получить разбитие на данные по количеству ночей и датам вылетам(разные даты вылета с одинаковым количеством ночей могут быть). С массивами работал мало, в голову приходят схемы про переборы множественные массива с получением нужных данных(какие вообще есть), после уже их в условия заносить и делать еще проходы и уже показ, но думается мне это неправильный метод. быть может проще таблицу темповую в mysql создавать?
вы хотите оптимизировать выборки из массивов? Изобрести индексы для массивов? (можно реализовать механизм индексации с бинарным поиском или использованием хэшмэпов для примари кеев).
Если этот массив взялся из базы данных то и выборку стоит в ней же делать.
в противном случае запись массива в базу и выборка там будет медленнее тупого перебора в лоб. Только если данные там уже и останутся и вы будете эту таблицу реюзать будет профит.