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

È stato utile?

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 con 0 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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top