Функция array_rand возвращает случайный ключ из массива.

Второй необязательный параметр указывает, сколько случайных ключей следует вернуть.

Если он не указан - возвращается один ключ, а если указан - заданное количество ключей в виде массива.

См. также функцию shuffle, которая перемешивает массив.

См. также функцию mt_rand, которая возвращает случайное число в заданном диапазоне.

Синтаксис

array_rand(массив, [сколько ключей выбрать]);

Примеры

Пример

В данном примере функция вернет случайный ключ из массива:

<?php
	$arr = ['a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5];
	$key = array_rand($arr);
	var_dump($key);
?>

Результат выполнения кода:

c

Пример

Давайте вернем случайный элемент из массива, зная случайный ключ:

<?php
	$arr = ['a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5];
	$key = array_rand($arr);
	var_dump($arr[$key]);
?>

Результат выполнения кода:

3

Пример

Сейчас мы задали второй параметр и теперь функция вернет массив из 3-х случайных ключей (3 ключа - так как второй параметр равен 3):

<?php
	$arr = ['a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5];
	$keys = array_rand($arr, 3);
	var_dump($keys);
?>

Результат выполнения кода:

['a', 'b', 'e']