Добрый день!
Подскажите, пожалуйста, никак не могу найти (догадаться) решение.. Как сделать сортировку (в PHP 5.6/7) многомерного JSON-массива по значению определённого ключа (по возрастанию) и дополнительно по алфавиту (по др. ключу)?
Поясню. Есть вот такой массив:
[{
"id": "26",
"strana": "Таиланд",
"otel_nazvanie": "Villa Danica",
"otel_kol_vo_zvezd": "3",
"otel_stoimost": "22900"
}, {
"id": "26",
"strana": "Греция",
"otel_nazvanie": "Vila Tufi",
"otel_kol_vo_zvezd": "3",
"otel_stoimost": "27700"
}, {
"id": "26",
"strana": "Кипр",
"otel_nazvanie": "Villa Kralj",
"otel_kol_vo_zvezd": "3",
"otel_stoimost": "28800"
}, {
"id": "26",
"strana": "Кипр",
"otel_nazvanie": "Rooms Rio",
"otel_kol_vo_zvezd": "3",
"otel_stoimost": "28750"
}, {
"id": "26",
"strana": "Таиланд",
"otel_nazvanie": "Obala Zelena",
"otel_kol_vo_zvezd": "3",
"otel_stoimost": "32050"
}, {
... // и так далее, до 100 штук.
}]
Как его можно отсортировать (единовременно, ну то есть сразу за один раз), чтобы он:
+ Сортировался по алфавиту из значения ключа
strana;
+ Сортировался по возрастанию из значения ключа
otel_stoimost;
+ Далее, выводился только первый элемент отсортированного (по параметрам выше) массива;
То есть, в результате должно получиться вот такое:
[{
"id": "26",
"strana": "Греция",
"otel_nazvanie": "Vila Tufi",
"otel_kol_vo_zvezd": "3",
"otel_stoimost": "27700"
}, {
"id": "26",
"strana": "Кипр",
"otel_nazvanie": "Rooms Rio",
"otel_kol_vo_zvezd": "3",
"otel_stoimost": "28750"
}, {
"id": "26",
"strana": "Таиланд",
"otel_nazvanie": "Villa Danica",
"otel_kol_vo_zvezd": "3",
"otel_stoimost": "22900"
}, {
... // и так далее.
}]
Для чего это нужно: чтобы сделать фильтр по направлениям туризма. Финальный вариант, должен выйти такой (например, из данных выше):
- Греция от 27 700 руб.
- Кипр от 28 750 руб.
- Таиланд от 22 900 руб.
Очень надеюсь на вашу помощь, сам уже реально сижу с квадратной головой.. :(