array_rand()
Last updated onThe array_rand() is a helper function in PHP that makes it easier when dealing with arrays; you can just pull out random items from arrays without giving yourself a headache. Think of it like a lucky dip—you reach in, pull out something, and voilà: you have your random value(s) from the array, ready to use.
What is "array_rand()"? Syntax and Definition
The function
returns one or more random keys from a given array. Put this another way: assume you have an array containing a list of colors; if you need a single color, that’s quite straightforward—pass the array to array_rand()
, and it returns one random key within that array. If you want more than one random item, just tell array_rand()
how many, and it will return an array of random keys. array_rand()
Here is the basic syntax for
:array_rand()
array_rand(array $array, int $num = 1): int|string|array
$array
: The array you’re picking from.$num
: The number of random keys you want. It’s optional; if you skip it,
just assumes you want one.array_rand()
How Does It Work?
Under the hood, array_rand()
is rather uncomplicated. Suppose you pass in an array of movie genres:
. When you execute ['Action', 'Comedy', 'Drama', 'Sci-Fi']
, it returns one key. That key points to a random genre in your list. It’s not returning the value directly, just the key, so if you want the actual genre, you must access it like array_rand($array)
.$array[$randomKey]
For more than one element, it works the same but returns an array of random keys. Let’s look at a few examples to make this clear.
Examples
Example 1: Obtaining a Single Random Value.
$colors = ['red', 'blue', 'green', 'yellow'];
$randomKey = array_rand($colors);
echo $colors[$randomKey]; // Outputs a random color
Example 2: Generating Multiple Random Values
$colors = ['red', 'blue', 'green', 'yellow'];
$randomKeys = array_rand($colors, 2);
foreach ($randomKeys as $key) {
echo $colors[$key] . " ";
}
// Outputs two random colors
The first example selects a single random key with
from the array_rand($colors)
array, and we use $colors
to get and display that colour. $colors[$randomKey]
The second example makes use of
to select two random keys, which are stored in array_rand($colors, 2)
. A $randomKeys
loop then accesses each of the selected keys to print two random colours from the array. The following are the advantages of this method: fast and convenient to draw one or many random items out of an array without shuffling - changing - the original array.foreach
Frequently Asked Questions (FAQs)
What if I request more keys than my array has items?
Does array_rand() shuffle the array?
Can I use array_rand() with an associative array?
Why array_rand() is Useful