Как отсотировать массив по ключам в 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. Она удалит все существующие ключи, а не просто переупорядочит их. Это значит, что данная фунция перепишет существующий массив с сохраниеним связей.