Ce face str_shuffle
str_shuffle returnează aceleași caractere, în ordine aleatorie. Este utilă pentru jocuri (anagrame) sau exemple.
Generatorul folosit nu este sigur criptografic, deci nu o folosi pentru parole sau token-uri. Lucrează pe octeți, deci strică diacriticele.
Parametri
| Parametru | Descriere |
|---|---|
$string |
Textul amestecat. |
Ce returnează
Textul cu caracterele amestecate.
Exemple
Exemplul 1: Anagramă
Rezultatul diferă la fiecare rulare.
<?php
echo str_shuffle("programare");
Rezultat posibil (diferă la fiecare rulare)
rarpogemar
Exemplul 2: Alternativa sigură pentru un cod aleatoriu
Fiecare caracter este ales cu random_int, care este sigur. Rezultatul diferă la fiecare rulare.
<?php
$caractere = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
$cod = "";
for ($i = 0; $i < 8; $i++) {
$cod .= $caractere[random_int(0, strlen($caractere) - 1)];
}
echo $cod;
Rezultat posibil (diferă la fiecare rulare)
K7QZ2MXA
Greșeli frecvente
- Generezi parole cu
substr(str_shuffle(...), 0, 8). Pe lângă generatorul nesigur, niciun caracter nu se poate repeta, deci parola este mai ușor de ghicit. Foloseșterandom_int.
Comenzi înrudite
random_int: Generează un număr întreg aleatoriu, sigur, între două valori.str_split: Împarte un text în bucăți de aceeași lungime și le pune într-un tablou.