- Теория
- Теория
Определяем новизну товара
Мы получили массив из пяти самых дешёвых товаров. Он нужен, чтобы вывести на главную страницу карточки с промо-товарами. К промо-товарам также относятся все новые товары. Чтобы получить их, отфильтруем массив $products
. В прошлой части мы уже делали фильтрацию товаров. Тогда мы использовали цикл и условие. Попробуем в этот раз использовать функции.
В PHP есть встроенная функция фильтрации — array_filter
. Она принимает два аргумента: исходный массив и функцию-колбэк — и возвращает новый массив. Исходный массив при этом не изменяется.
$filtered_array = array_filter($array, 'callback');
Начнём с колбэка. Согласно документации, он должен принимать элемент исходного массива и возвращать булево значение: true
, если этот элемент нужно включить в новый массив, и false
, если не нужно.
В новый массив должны попасть все новые товары. У каждого товара есть ключ 'is_new'
. Он имеет булево значение: true
, если товар новый, и false
, если нет:
'2' => [
'title' => 'Кресло Бадета',
'img_url' => 'img/item-badeta.jpg',
'price' => 3500,
'is_new' => false
],
'7' => [
'title' => 'Диван Рмаериби',
'img_url' => 'img/item-rmaeribi-new.jpg',
'price' => 15000,
'is_new' => true
]
Получается, ключ 'is_new'
содержит именно то значение, которое должна возвращать функция-колбэк. Используем это. Создадим функцию, которая принимает товар и возвращает значение его ключа 'is_new'
. С помощью консоли убедимся, что функция работает.
Не стоит путать фильтрацию и сортировку. Фильтрация отвечает за то, какие элементы выводятся, а сортировка — за то, в каком порядке они выводятся.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.