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

// Исходный массив, который нужно отсортировать
$posts = array(
  0 => array(
    "title" => "Запись 11",
    "date"  => "",
    "body"  => ""
  ),
  1 => array(
    "title" => "Запись 100",
    "date"  => "",
    "body"  => ""
  ),
  2 => array(
    "title" => "Запись 30",
    "date"  => "",
    "body"  => ""
  ),
  3 => array(
    "title" => "Запись 7",
    "date"  => "",
    "body"  => ""
  )
);

// Правило, по которому будут сравниваться строки
function cmp($a, $b) { 
  return strnatcmp($a["title"], $b["title"]); 
} 

// Сама функция сортировки 
usort($posts, "cmp");
Когда нужно было отсортировать массив данных, которые в базе данных были записаны JSON-строкой. Сортировка на уровне получения данных из БД в такой ситуации не поможет. Но к счастью нашлось довольно простое и внятное решение на PHP. Для сортировки ассоциативного массива мы будем использовать следующие функции: usort. В PHP нет штатных функций, которые могли бы провернуть такой трюк. Зато есть функция, которая позволяет отсортировать массив с использованием написанной нами логики. Функция для сортировки массива через другую функцию; strnatcmp. Эта функция сравнивает две строки по алгоритму «natural ordering». Вообще функция по сравнению строк нужно выбирать исходя из конкретной задачи. Взято тут: https://dmitriyilichev.com/sortirovka-massiva-po-opredelennomu-polyu/