[PHP 4, PHP 5, PHP 7, PHP 8] array_rand — Pick one or more random keys out of an array array_rand[array The input array. 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 Example #1 array_rand[] exampleDescription
$array
, int $num
= 1]: int|string|arrayParameters
array
num
Return Values
E_WARNING
level error, and NULL will be returned. Changelog
VersionDescription 7.1.0
The internal randomization algorithm has been changed to use the » Mersenne Twister Random Number Generator instead of the libc rand function.
Examples
Anonymous ¶
12 years ago
If the array elements are unique, and are all integers or strings, here is a simple way to pick $n random *values* [not keys] from an array $array:
Anonymous ¶
10 years ago
It doesn't explicitly say it in the documentation, but PHP won't pick the same key twice in one call.
divinity76+spam at gmail dot com ¶
4 months ago
for a cryptographically secure version, try
[this is an improved version, which unlike the first version, avoids copying *all* the keys]
grzeniufication ¶
4 years ago