![]()
Torna alla pagina delle funzioni
Questa funzione prende come parametro un numero intero e ritorna una parola casuale della lunghezza richiesta.
Funzione
function parolaCasuale($numeroChar){
// Alfabeto numerico + minuscole da cui pescare i caratteri
$lettere = "0123456789abcdefghijklmnopqrstuvwxyz";
// Inizializzo la stringa risultato vuota
$rndWord = "";
// Ripeto $numeroChar volte
for ($i = 0; $i < $numeroChar; $i++){
// Genero un indice casuale tra 0 e la lunghezza di $lettere
$rndNum = rand(0, strlen($lettere) - 1);
// Aggiungo il carattere corrispondente a $rndWord
$rndWord .= $lettere{$rndNum};
}
// Restituisco la parola casuale generata
return $rndWord;
}
Spiegazione
Questa funzione genera una stringa casuale di lunghezza fissa n ($numeroChar), usando solo cifre e lettere minuscole.
- Prepara un “alfabeto” in
$lettere. - In un ciclo, sceglie un indice casuale e aggiunge il carattere corrispondente a
$rndWord. - Alla fine ritorna una parola del tipo
"3a7xk", utile per codici temporanei, token di test, ecc.
Versione estesa
Ecco una versione estesa una versione più completa che usa:
- simboli/codici speciali
- numeri
- lettere minuscole
- lettere maiuscole
function parolaCasuale($numeroChar){
// Insieme dei caratteri disponibili:
// numeri, lettere minuscole, lettere maiuscole e simboli
$caratteri = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()-_=+[]{}<>?";
// Inizializzo la stringa finale vuota
$rndWord = "";
// Ripeto il ciclo tante volte quanto indicato in $numeroChar
for ($i = 0; $i < $numeroChar; $i++){
// Scelgo una posizione casuale valida nella stringa dei caratteri
$rndNum = rand(0, strlen($caratteri) - 1);
// Aggiungo il carattere casuale alla stringa finale
$rndWord .= $caratteri[$rndNum];
}
// Restituisco la parola/codice casuale generato
return $rndWord;
}
Spiegazione
Questa funzione genera una stringa casuale della lunghezza desiderata.
$carattericontiene tutti i simboli che possono essere estratti.- Il ciclo
forviene eseguito$numeroCharvolte. - A ogni iterazione viene scelto un indice casuale.
- Il carattere corrispondente viene aggiunto a
$rndWord. - Alla fine la funzione restituisce un codice casuale.
Esempi
echo parolaCasuale(8);
Possibili risultati:
aK7$Pq2!9Zm@1Ab#X2d!Lp8?