(PHP 4, PHP 5, PHP 7, PHP 8)
array_rand — Pick one or more random keys out of an array
$array
, int $num
= 1): int|string|arrayPicks one or more random entries out of an array, and returns the key (or keys) of the random entries.
This function does not generate cryptographically secure values, and must not be used for cryptographic purposes, or purposes that require returned values to be unguessable.
If cryptographically secure randomness is required, the Random\Randomizer may be used with the Random\Engine\Secure engine. For simple use cases, the random_int() and random_bytes() functions provide a convenient and secure API that is backed by the operating system’s CSPRNG.
array
The input array.
num
Specifies how many entries should be picked.
When picking only one entry, array_rand() returns
the key for a random entry. Otherwise, an array of keys for the random
entries is returned. This is done so that random keys can be picked
from the array as well as random values. If multiple keys are returned,
they will be returned in the order they were present in the original array.
Trying to pick more elements
than there are in the array will result in an
E_WARNING
level error, and NULL will be returned.
Version | Description |
---|---|
7.1.0 | The internal randomization algorithm has been changed to use the » Mersenne Twister Random Number Generator instead of the libc rand function. |
Example #1 array_rand() example
<?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";
?>