The 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 array_rand() 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.
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,array_rand()just assumes you want one.
How Does It Work?
Under the hood, array_rand() is rather uncomplicated. Suppose you pass in an array of movie genres: ['Action', 'Comedy', 'Drama', 'Sci-Fi']. When you execute array_rand($array), 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[$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 array_rand($colors) from the $colors array, and we use $colors[$randomKey] to get and display that colour.
The second example makes use of array_rand($colors, 2) to select two random keys, which are stored in $randomKeys. A foreach 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.
Similar Reads
PHP 5 added support for classes and interfaces. This made object-oriented code possible with one feature being polymorphism. That means…
Use strtoupper() function when you want to change all letters in a string to uppercase in PHP. It works with…
MySQL Prepared Statements in PHP are an important tool for ensuring security and optimization. They safeguard against SQL injection attacks,…
Perhaps you're new to PHP or sharpening your skills and looking to understand how numbers work within this language under…
PHP array_intersect_uassoc checks two or more arrays and returns matches. It compares both the values and the keys with a…
PHP didn’t have a way to check or clean user input. Developers used scattered code—some wrote custom checks, others used…
The IF statement in PHP helps to see if a condition is true or not. If it is true, it…
PHP comparison operators allow you to compare values in many ways, and this simplifies the process of checking whether values…
The array_shift function in PHP takes the first element from an array and returns it. It also moves all other…
Type casting in PHP refers to the process of converting a variable from one data type to another. This is…