Функción array_rand

La función array_rand devuelve una clave aleatoria de un array. El primer parámetro especifica el array, y el segundo parámetro opcional indica cuántas claves aleatorias se deben devolver. Si no se especifica, se devuelve una clave, y si se especifica, se devuelve la cantidad indicada de claves en forma de array.

Sintaxis

phparray_rand(array $array, int $num = 1): int|string|array

Ejemplo

En este ejemplo, la función devolverá una clave aleatoria del array:

php<?php
  $arr = ['a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5];
  echo array_rand($arr);
?>

Resultado de ejecutar el código:

php'c'

Ejemplo

Obtengamos un elemento aleatorio del array, conociendo la clave aleatoria:

php<?php
  $arr = ['a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5];
  
  $key = array_rand($arr);
  echo $arr[$key];
?>

Resultado de ejecutar el código:

php3

Ejemplo

Establezcamos el segundo parámetro en el valor 3 - en este caso la función devolverá un array de 3 claves aleatorias (3 claves - ya que el segundo parámetro es igual a 3):

php<?php
  $arr = ['a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5];
  
  $keys = array_rand($arr, 3);
  var_dump($keys);
?>

Resultado de ejecutar el código:

php['a', 'b', 'e']

Ver también

  • la función shuffle,
    que baraja un array
  • la función mt_rand,
    que devuelve un número aleatorio