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

Реклама
Новое
Реклама