PHP Array - Get 2 random elements

How to Get 2 random elements from a PHP array?

From time to time, we may need to randomly select multiple keys from a PHP array.

We have attached 2 different PHP methods to get your random values from your PHP array. Bother super easy to implement.

One method using array_rand() and the other using the array_intersect_key() function.

If you want to get two random values, you can use the function array_rand  twice in your PHP code, and then use the keys to get the following values.

$array = [
0 => 'word 1',
1 => 'word 2',
2 => 'word 3',
3 => 'word 4',
];

$key1 = array_rand($array);
$key2 = array_rand($array);
$value1 = $array[$key1];
$value2 = $array[$key2];

There is also another solution using array_intersect_key as shown below:

$array = [
0 => 'word 1',
1 => 'word 2',
2 => 'word 3',
3 => 'word 4',
];


$random_keys = array_rand($array, 2);
$random_values = array_intersect_key($array, array_flip($random_keys));

$resetKeys = array_values($random_values);

echo $resetKeys[0] . ' ' . $resetKeys[1];

In the above solution, we used the array_values function to reset the keys from 0 to n. Otherwise your keys will also be in a random order.

If this helped you, please share this page with other devs!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Disclaimer:

As an Amazon Associate I earn from qualifying purchases. This post may contain affiliate links which means I may receive a commission for purchases made through links.