Função shuffle

A função shuffle realiza o embaralhamento de um array para que seus elementos fiquem em ordem aleatória. A função modifica o próprio array: isso significa que o resultado da função não precisa ser atribuído a lugar nenhum - as alterações ocorrerão no próprio array.

Sintaxe

phpshuffle(array &$array): bool

Exemplo

Vamos embaralhar os elementos do array em ordem aleatória:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  shuffle($arr);
  var_dump($arr);
?>

Exemplo . Aplicação

Vamos preencher um array com números de 1 a 10 de forma que eles fiquem em ordem aleatória e não se repitam. Para isso, vamos gerar um array com números de 1 a 10 usando range e embaralhá-lo com shuffle:

php<?php
  $arr = range(1, 10);
  
  shuffle($arr);
  var_dump($arr);
?>

Exemplo . Aplicação

Vamos fazer uma lista ul, preenchida com números aleatórios de 1 a 10:

php<?php
  $arr = range(1, 10);
  shuffle($arr);
  
  echo '<ul>';
  foreach ($arr as $elem) {
    echo '<li>' . $elem . '</li>';
  }
  echo '</ul>';
?>

Veja também

  • a função str_shuffle,
    que embaralha os caracteres de uma string em ordem aleatória
  • a função array_rand,
    que seleciona valores aleatórios de um array
  • a função mt_rand,
    que gera números aleatórios