PHP array_rand() Function: Usage & Examples

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.

Previous Article

PHP fopen: Understanding fopen Modes

Next Article

PHP array_pop: Remove Last Element from Array Easily

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Subscribe to Get Updates

Get the latest updates on Coding, Database, and Algorithms straight to your inbox.
No spam. Unsubscribe anytime.