• Теория
  • Теория

Функция uasort, сортируем товары

С помощью встроенной функции require мы подключили на главную страницу шаблон с карточками товаров. Сейчас на странице показываются все товары, но заказчик хочет, чтобы показывались только три случайных промо-товара.

К промо-товарам относятся все новые товары и пять самых дешёвых. Нам предстоит сформировать массив с промо-товарами и изменить шаблон так, чтобы на странице показывались три случайных элемента из этого массива.

Все товары хранятся в массиве $products. Это ассоциативный массив, ключами которого служат идентификаторы товаров, а значениями — сами товары.

Начнём с поиска самых дешёвых товаров. Каждый товар также является ассоциативным массивом. За цену отвечает ключ 'price':

'6' => [
  'title' => 'Лампа Мсеюлида',
  'img_url' => 'img/item-mseyulida.jpg',
  'price' => 4000,
  'is_new' => false
]

Чтобы найти самые дешёвые товары, отсортируем все товары по цене. Сортировка — непростая задача, но, к счастью, для неё в PHP есть встроенная функция uasort.

Эта функция принимает два аргумента. Первый — массив, который нужно отсортировать. Второй — имя функции, которая говорит, как именно нужно сортировать. В следующем задании мы подробно разберём, что это за функция.

uasort($array, 'function_name');

Отсортируем товары, вызвав встроенную функцию uasort. Передадим ей массив $products и функцию sort_by_price.

Функций сортировки в PHP несколько. О различиях между ними можно почитать в документации.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Массивы и функции в PHP» тренажёра «Знакомство с PHP» можно после регистрации и оформления подписки.