Сортировка массива по определенному полю

Сортировка массива по определенному полю

Не так давно мы столкнулись с ситуацией, когда нужно было отсортировать массив данных, которые в базе данных были записаны JSON-строкой.

Сортировка на уровне получения данных из БД в такой ситуации не поможет. Но к счастью нашлось довольно простое и внятное решение на PHP.

Для сортировки ассоциативного массива мы будем использовать следующие функции:

  • usort. В PHP нет штатных функций, которые могли бы провернуть такой трюк. Зато есть функция, которая позволяет отсортировать массив с использованием написанной нами логики. Функция для сортировки массива через другую функцию;
  • strnatcmp. Эта функция сравнивает две строки по алгоритму «natural ordering».

Вообще функция по сравнению строк нужно выбирать исходя из конкретной задачи.

А вот и результат:

Все! Даже самая сложная логическая задача по сортировке данных превращается в одно удовольствие.

А вообще, если есть возможность, сортируйте данные на уровне базы данных. Это крайний случай, ну и такое бывает.

Оставить комментарий