Frage

Ich brauche eine zufällige 4-stellige Zahl

Im jetzt mit rand (1000,9999), die gibt mir immer eine 4-stellige Zahl, aber ich eliminiert 0.000-0.999 wie möglich Ergebnisse.

Wie Sie Pad eine Zufallszahl?

(auch dies wird schließlich in einen String hinzugefügt werden, muss ich den int als String werfen?)

Dank

War es hilfreich?

Lösung

In Skriptsprachen wie PHP, Sie müssen nicht in 99% der Fälle werfen.

Padding getan werden könnte mit

sprintf("%04u", rand(0, 9999));

Erklärungen

das erste Argument von sprintf gibt das Format

  • % bleibt für den zweiten, dritten, vierten usw. Argument. der erste % durch das zweite Argument, das zweite % durch die dritten usw. ersetzt wird.
  • 0 bleibt für das Verhalten mit 0 nach links zu füllen.
  • 4 bleibt für "Mindestens 4 Zeichen gedruckt werden sollen"
  • u bleibt für unsigned integer.

Andere Tipps

sprintf("%04d", rand(0,9999))

sollte das tun, was Sie wollen

quick and dirty ... wie wäre es tun:

rand(10000,19999)

und nehmen Sie die letzten vier Ziffern:

substr(rand(10000, 19999), 1, 4)
str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT);

Mit mt_rand () anstelle von rand (), ist es besser.

Sie können mit str_pad () oder sprintf () Zeichenfolge formatiert werden:

$rand = rand(0, 9999);
$str1 = str_pad($rand, 4, '0', STR_PAD_LEFT);
$str2 = sprintf('%04u', $rand);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top