W3docs

Função shuffle() do PHP

Aprenda como a função shuffle() do PHP reordena aleatoriamente os elementos de um array no lugar, com detalhes de sintaxe e exemplos práticos.

Bem-vindo ao nosso guia completo sobre a função shuffle do PHP. Neste artigo, explicaremos o que a função shuffle faz, como ela funciona e forneceremos exemplos práticos de como utilizá-la nos seus projetos PHP.

A função shuffle no PHP é uma função nativa que embaralha os elementos de um array de forma aleatória. Ela modifica o array original no lugar e retorna um valor boolean (true em caso de sucesso, false em caso de falha).

A função shuffle funciona reorganizando os elementos de um array em uma ordem aleatória. Ela usa o gerador de números aleatórios do PHP para garantir que cada permutação seja igualmente provável.

Aqui está a sintaxe da função shuffle:

shuffle(array &$array): bool // Note: array type hint requires PHP 8.0+

O parâmetro $array é passado por referência, o que significa que o array original é modificado diretamente. A função retorna true em caso de sucesso ou false em caso de falha.

Nota: No PHP 8.1+, passar um valor que não seja um array para shuffle() gera um aviso de depreciação.

Vamos ver alguns exemplos práticos de uso da função shuffle no PHP.

Exemplo 1: Embaralhando um Array de Números

Exemplo de Embaralhamento de um Array de Números em PHP

php— editable, runs on the server

Saída:

Array
(
    [0] => 5
    [1] => 1
    [2] => 4
    [3] => 3
    [4] => 2
)

Exemplo 2: Embaralhando um Array de Strings

Exemplo de Embaralhamento de um Array de Strings em PHP

php— editable, runs on the server

Saída:

Array
(
    [0] => kiwi
    [1] => banana
    [2] => grape
    [3] => apple
    [4] => orange
)

Exemplo 3: Embaralhando um Array Associativo

Exemplo de Embaralhamento de um Array Associativo em PHP

Observe que shuffle() sempre reindexa os arrays para chaves numéricas sequenciais, destruindo quaisquer chaves de string existentes. Para preservar as chaves associativas, você deve embaralhar as chaves manualmente, conforme mostrado abaixo.

<?php

$person = ["name" => "John", "age" => 30, "city" => "New York"];

// Shuffle the keys of the array
$keys = array_keys($person);
shuffle($keys);

// Create a new array with the shuffled keys
$shuffled_person = [];
foreach ($keys as $key) {
    $shuffled_person[$key] = $person[$key];
}

print_r($shuffled_person);

Saída:

Array
(
    [city] => New York
    [age] => 30
    [name] => John
)

Neste artigo, explicamos o que é a função shuffle, como ela funciona e fornecemos exemplos práticos de como utilizá-la nos seus próprios projetos PHP. Esperamos que este guia tenha sido útil e que agora você possa usar a função shuffle com confiança.

Diagrama:

graph TD
A((array)) --input--> B(shuffle)
B --output--> C((modified array))

Obrigado por ler nosso guia sobre a função shuffle() no PHP. Se tiver alguma dúvida ou comentário, não hesite em entrar em contato conosco.

Prática

Prática
Qual é o propósito da função shuffle() no PHP?
Qual é o propósito da função shuffle() no PHP?
Was this page helpful?