Как отсотировать массив по ключам в PHP.
Допустим у нас есть массив с позициями Интернет-магазина, который содержит код товара, цену, название и нам бы хотелось отсортировать этот массив по возрастанию по значению цены.
Сам массив имеет такой вид:
$arr[] = array('id' => '1', 'price' => '200', 'name' => "product1");
$arr[] = array('id' => '2', 'price' => '400', 'name' => "product2");
$arr[] = array('id' => '3', 'price' => '100', 'name' => "product3");
Для сортировки такого массива в php можно использовать функцию usort
Эта функция сортирует элементы массива, используя для сравнения значений callback-функцию, предоставленную пользователем. Используйте эту функцию, если вам нужно отсортировать массив по какому-нибудь необычному признаку.
Пример кода для сортировки нашего массива по значению цены:
usort($arr, function($a, $b) {
return $a['price'] <=> $b['price'];
});
Замечание: Эта функция присваивает новые ключи элементам array. Она удалит все существующие ключи, а не просто переупорядочит их. Это значит, что данная фунция перепишет существующий массив с сохраниеним связей.