- Теория
- Теория
Функция array_rand, получаем случайные элементы
Мы создали массив с промо-товарами и вывели их на страницу. Но нам нужно показывать не все промо-товары сразу, а только три случайных. Как их выбрать?
Используем встроенную функцию array_rand
. Она принимает исходный массив и количество случайных элементов, которые мы хотим получить.
$random = array_rand($array, $number_of_elements);
Если второй аргумент — единица, функция вернёт один случайный ключ. Если второй аргумент больше единицы, функция вернёт массив со случайными ключами.
$array = [
0 => 'ноль',
1 => 'один',
2 => 'два',
3 => 'три',
4 => 'четыре',
5 => 'пять'
];
// Получаем один случайный элемент
$random_element = array_rand($array, 1);
keks_log($random_element); // Выведет (например): 4
// Получаем несколько случайных элементов
$random_elements = array_rand($array, 3);
keks_log($random_elements); // Выведет (например): [0, 2, 5]
Нам нужно получить три случайных промо-товара. Для этого вызовем функцию array_rand
с аргументами $promo_products
и 3
. Функция вернёт массив с тремя идентификаторами. Используем эти идентификаторы, чтобы вывести товары на страницу. Массив, который вернёт функция array_rand
, простой, не ассоциативный. Чтобы перебрать его элементы, будет достаточно записи:
foreach($array as $item)
Проверим, что товары, которые в результате отобразятся на странице, действительно случайные.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.