(PHP 4, PHP 5, PHP 7, PHP 8)
shuffle — Embaralha um array
Essa função embaralha (mistura de forma aleatória os elementos de) um array.
Esta função não gera valores criptograficamente seguros e não deve ser usada para propósitos criptográficos ou fins que exijam que os valores retornados sejam impossíveis de adivinhar.
Se aleatoriedade criptograficamente segura for necessária, a classe Random\Randomizer pode ser usada com o mecanismo Random\Engine\Secure. Para casos de uso simples, as funções random_int() e random_bytes() fornecem uma API conveniente e segura que é garantida pelo CSPRNG do sistema operacional.
Esta função usa a instância global do Mt19937 (“Mersenne Twister”) como a fonte de aleatoriedade a por isso compartilha seu estado com todas as outras funções que usam o Mt19937 global. Usar qualquer uma destas funções avança a sequência para todas as outras funções, independentemente do escopo.
Gerar sequências repetíveis ao semear mt_srand() ou srand() com um valor conhecido também gerará saída repetível desta função.
Prefira usar métodos de Random\Randomizer em todo código novo.
arrayO array.
Sempre retorna true.
| Versão | Descrição |
|---|---|
| 7.1.0 | O algoritmo interno de randomização mudou para o Gerado de Números Aleatórios » Mersenne Twister no lugar da função rand do libc. |
Exemplo #1 Exemplo de shuffle()
<?php
$numeros = range(1,20);
shuffle($numeros);
foreach ($numeros as $numero) {
echo "$numero ";
}
?>Nota: Esta função atribui novas chaves aos elementos do
array. Ela removerá todas as chaves existentes que possam ter sido atribuídas, em vez de apenas reordenar as chaves.
Nota:
Redefine o ponteiro interno do array para o primeiro elemento.