Aller au contenu

Fonction shuffle() de PHP

Bienvenue dans notre guide complet sur la fonction shuffle de PHP. Dans cet article, nous expliquerons ce que fait la fonction shuffle, comment elle fonctionne et fournirons des exemples pratiques de son utilisation dans vos projets PHP.

La fonction shuffle de PHP est une fonction intégrée qui mélange aléatoirement les éléments d'un tableau. Elle modifie le tableau original directement et retourne une valeur booléenne (true en cas de succès, false en cas d'échec).

La fonction shuffle fonctionne en réorganisant les éléments d'un tableau dans un ordre aléatoire. Elle utilise le générateur de nombres aléatoires de PHP pour garantir que chaque permutation est également probable.

Voici la syntaxe de la fonction shuffle :

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

Le paramètre $array est passé par référence, ce qui signifie que le tableau original est modifié directement. La fonction retourne true en cas de succès ou false en cas d'échec.

Remarque : À partir de PHP 8.1, le passage d'une valeur non tableau à shuffle() déclenche un avertissement de dépréciation.

Voyons quelques exemples pratiques d'utilisation de la fonction shuffle en PHP.

Exemple 1 : Mélanger un tableau de nombres

Exemple de mélange d'un tableau de nombres en PHP

php
<?php

$numbers = [1, 2, 3, 4, 5];
shuffle($numbers);
print_r($numbers);

Sortie :

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

Exemple 2 : Mélanger un tableau de chaînes

Exemple de mélange d'un tableau de chaînes en PHP

php
<?php

$fruits = ["apple", "banana", "orange", "kiwi", "grape"];
shuffle($fruits);
print_r($fruits);

Sortie :

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

Exemple 3 : Mélanger un tableau associatif

Exemple de mélange d'un tableau associatif en PHP

Notez que shuffle() réindexe toujours les tableaux en clés numériques séquentielles, détruisant ainsi toute clé de chaîne existante. Pour conserver les clés associatives, vous devez mélanger les clés manuellement comme illustré ci-dessous.

php
<?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);

Sortie :

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

Dans cet article, nous avons expliqué ce qu'est la fonction shuffle, comment elle fonctionne et fourni des exemples pratiques de son utilisation dans vos propres projets PHP. Nous espérons que ce guide vous a été utile et que vous pouvez désormais utiliser la fonction shuffle en toute confiance.

Diagramme :

Merci d'avoir lu notre guide sur la fonction shuffle() en PHP. Si vous avez des questions ou des commentaires, n'hésitez pas à nous contacter.

Pratique

Quel est le rôle de la fonction shuffle() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.