Função array_rand

A função array_rand retorna uma chave aleatória de um array. O primeiro parâmetro especifica o array, e o segundo parâmetro opcional indica quantas chaves aleatórias devem ser retornadas. Se não for especificado - é retornada uma chave, e se for especificado - a quantidade informada de chaves na forma de um array.

Sintaxe

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

Exemplo

Neste exemplo, a função retornará uma chave aleatória do array:

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

Resultado da execução do código:

php'c'

Exemplo

Vamos retornar um elemento aleatório do array, conhecendo a chave aleatória:

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

Resultado da execução do código:

php3

Exemplo

Vamos definir o segundo parâmetro com o valor 3 - neste caso, a função retornará um array com 3 chaves aleatórias (3 chaves - pois o segundo parâmetro é 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 da execução do código:

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

Veja também

  • a função shuffle,
    que embaralha um array
  • a função mt_rand,
    que retorna um número aleatório