Ce face shuffle
shuffle modifică direct tabloul și pune elementele într-o ordine întâmplătoare. Cheile vechi se pierd: tabloul primește chei noi, 0, 1, 2…
Nu folosi shuffle pentru ceva legat de securitate. Pentru amestecare sigură există (new Random\Randomizer())->shuffleArray(), din PHP 8.2.
Parametri
| Parametru | Descriere |
|---|---|
$array |
Tabloul amestecat. Este modificat direct. |
Ce returnează
Întotdeauna true.
Exemple
Exemplul 1: Întrebări de test în ordine aleatorie
Rezultatul diferă la fiecare rulare.
<?php
$intrebari = ["Î1", "Î2", "Î3", "Î4", "Î5"];
shuffle($intrebari);
echo implode(", ", $intrebari);
Rezultat posibil (diferă la fiecare rulare)
Î3, Î1, Î5, Î2, Î4
Exemplul 2: Cheile text se pierd
<?php
$capitale = ["RO" => "București", "FR" => "Paris"];
shuffle($capitale);
var_dump(array_is_list($capitale));
Rezultat
bool(true)
Greșeli frecvente
- Scrii
$lista = shuffle($lista);. Funcția returneazătrue, iar tabloul este pierdut. - Amesteci un tablou asociativ și pierzi cheile. Amestecă lista de chei (
array_keys) și citește valorile după ele.
Comenzi înrudite
array_rand: Alege una sau mai multe chei la întâmplare dintr-un tablou.random_int: Generează un număr întreg aleatoriu, sigur, între două valori.sort: Sortează elementele unui tablou crescător. Există și variante pentru descrescător și pentru chei.