array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.array-rand.php', 1 => 'array_rand', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Функции для работы с массивами', ), 'prev' => array ( 0 => 'function.array-push.php', 1 => 'array_push', ), 'next' => array ( 0 => 'function.array-reduce.php', 1 => 'array_reduce', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/array/functions/array-rand.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
array_rand — Выбирает один или несколько случайных ключей из массива
Функция выбирает один или несколько случайных элементов из массива и возвращает ключ, или ключи, случайных элементов.
Функция не создаёт криптографически безопасные значения и не должна использоваться в криптографических целях или целях, которые требуют, чтобы возвращаемые значения были недоступны для разгадывания.
Если нужна криптографически безопасная случайная последовательность, можно использовать класс Random\Randomizer с движком Random\Engine\Secure. Для простых сценариев существуют функции random_int() и random_bytes() с удобным API криптографически безопасного генератора псевдослучайных чисел (CSPRNG), поддерживаемого операционной системой.
array
Непустой входной массив.
num
Определяет сколько элементов выберет функция. Количество
элементов должно быть больше нуля и меньше или равно количеству
элементов массива array
.
Функция array_rand() возвращает ключ случайного элемента, когда выбирает только один элемент. В остальных случаях функция возвращает массив ключей случайных элементов. Это сделано так, чтобы функция могла выбрать из массива как случайные ключи, так и случайные значения. Функция, когда возвращает массив ключей, вернёт ключи в порядке, в котором их объявили в исходном массиве.
Функция выбросит исключение ValueError,
если массив array
пуст
или значение параметра num
выходит за пределы диапазона.
Версия | Описание |
---|---|
8.0.0 |
Теперь функция array_rand() выбрасывает
исключение ValueError,
если значение параметра num выходит
за пределы диапазона; раньше функция выдавала ошибку уровня
E_WARNING и возвращала значение null .
|
8.0.0 |
Теперь функция array_rand() выбрасывает
исключение ValueError,
если массив array пуст; раньше
функция выдавала ошибку уровня E_WARNING
и возвращала значение null .
|
7.1.0 | Внутренний алгоритм получения случайных чисел изменён с функции rand библиотеки libc на генератор на базе » Вихря Мерсенна. |
Пример #1 Пример использования функции array_rand()
<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>