semplice domanda casuale ()
Domanda
Ho bisogno di un numero casuale di 4 cifre
in questo momento sto usando rand (1000,9999) che mi dà sempre un numero di 4 cifre ma elimio 0000-0999 come possibili risultati.
come si inserisce un numero casuale?
(anche questo alla fine verrà aggiunto a una stringa, devo lanciare int come stringa?)
grazie
Soluzione
Nei linguaggi di scripting come PHP, non è necessario eseguire il cast nel 99% dei casi.
Il riempimento può essere eseguito utilizzando
sprintf("%04u", rand(0, 9999));
Spiegazioni
il primo argomento di sprintf
specifica il formato
-
%
rimane per il secondo, terzo, quarto argomento ecc. il primo%
viene sostituito dal secondo argomento, il secondo%
dal terzo ecc. -
0
rimane per il comportamento di riempimento con0
a sinistra. -
4
rimane per " Almeno 4 caratteri devono essere stampati " -
u
rimane per intero senza segno.
Altri suggerimenti
sprintf("%04d", rand(0,9999))
dovrebbe fare quello che vuoi
Veloce e sporco ... che ne dici di fare:
rand(10000,19999)
e prendi le ultime quattro cifre:
substr(rand(10000, 19999), 1, 4)
str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT);
Usa mt_rand () invece di rand (), è meglio.
Puoi utilizzare str_pad () o sprintf () per formattare la stringa:
$rand = rand(0, 9999);
$str1 = str_pad($rand, 4, '0', STR_PAD_LEFT);
$str2 = sprintf('%04u', $rand);