array_randВыбирает один или несколько случайных ключей из массива
&reftitle.description;
intstringarrayarray_randarrayarrayintnum1
Функция выбирает в массиве один или несколько случайных элементов.
Для одного элемента возвращается ключ, а для нескольких элементов — массив ключей.
&caution.cryptographically-insecure;
&reftitle.parameters;
array
Входной массив. При передаче пустого массива функция выдаст ошибку.
num
Количество элементов для выбора. Функция выдаст ошибку, если значение меньше единицы
или превышает размер массива array.
&reftitle.returnvalues;
При запросе одного элемента функция array_rand
возвращает случайный ключ, а для нескольких элементов — массив ключей.
Логика возврата случайных ключей, а не значений, расширяет выбор случайных элементов:
значения, которые получают из исходного массива по случайным ключам, также составляют случайную выборку.
В выходном массиве ключи сохраняют относительный порядок, который соответствует порядку элементов в исходном массиве.
&reftitle.errors;
Функция выбрасывает ошибку ValueError,
если в параметр array передали пустой массив
или значение параметра num выходит за пределы диапазона.
&reftitle.changelog;
&Version;&Description;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 на генератор случайных чисел
на базе Вихря Мерсе́нна.
&reftitle.examples;
Пример выбора случайных ключей массива функцией array_rand
]]>
&reftitle.seealso;
Random\Randomizer::pickArrayKeysRandom\Randomizer::shuffleArray