PHP СОРТИРОВКА ТОВАРОВ
Сортировка товаров является неотъемлемой частью интернет-магазинов. В PHP для этого используется функция usort()
, которая позволяет отсортировать массив с произвольными элементами по заданному пользователем правилу:
function cmp($a, $b) {
if ($a['price'] == $b['price']) {
return 0;
}
return ($a['price'] < $b['price']) ? -1 : 1;
}
$products = [
['name' => 'Product B', 'price' => 10],
['name' => 'Product A', 'price' => 5],
['name' => 'Product C', 'price' => 20]
] ;
usort($products, 'cmp');
В данном примере мы сортируем массив товаров по возрастанию цены. Результат:
Array
(
[0] => Array
(
[name] => Product A
[price] => 5
)
[1] => Array
(
[name] => Product B
[price] => 10
)
[2] => Array
(
[name] => Product C
[price] => 20
)
)
Также можно использовать функцию uasort()
, которая сортирует массив, сохраняя ключи. В этом случае наш код будет выглядеть так:
uasort($products, 'cmp');
Если необходимо отсортировать массив товаров по нескольким полям (например, по цене и названию), можно использовать usort()
внутри другой функции:
function cmp($a, $b) {
if ($a['price'] == $b['price']) {
return strcmp($a['name'], $b['name']);
}
return ($a['price'] < $b['price']) ? -1 : 1;
}
usort($products, 'cmp');
В данном примере мы добавили сравнение по названию товара при совпадении цен. Сортировка будет происходить следующим образом: сначала товары с меньшей ценой, затем товары с большей ценой и одинаковым названием, затем товары с одинаковой ценой и разными названиями.
08. Каталог товаров на сайте. Шаг №1. 07. Сортировка списка товаров
Создание фильтра товаров в интернет магазине
Интернет магазин с нуля на php Выпуск №131 Пользовательская часть - сортировка каталога товаров
Интернет магазин с нуля на php Выпуск №132 Пользовательская часть - фильтрация каталога
Сортировка товаров магазина на JavaScript
Делаем фильтр контента на JavaScript
Производительность PHP: планируем, профилируем, оптимизируем / Павел Мурзаков (Badoo)
Сортировка товаров в каталоге интернет магазина
Как магазины хранят фильтры в URL? Плюс разбор и процентная нотация!
Делаем фильтры правильно на PHP Laravel