(PHP 4, PHP 5)
mt_rand — Erzeugt "bessere" Zufallszahlen
$min
, int $max
)Viele Zufallszahlengeneratoren, die auf älteren libc-Versionen basieren, haben seltsame oder doch zumindest unerwartete Verhaltensweisen und sind zudem recht langsam. Standardmäßig verwendet PHP den libc-Zufallszahlengenerator mit der Funktion rand(). Die Funktion mt_rand() kann jedoch als vollwertiger Ersatz verwendet werden. Sie verwendet einen Zufallszahlengenerator mit den bekannten Charakteristika der » Mersenne Twister, die Zufallszahlen viermal schneller generiert als der durchschnittliche libc-rand()-Aufruf.
Wenn die Funktion ohne Angabe von min
und/oder
max
aufgerufen, gibt mt_rand()
eine Pseudozufallszahl zwischen 0 und mt_getrandmax() zurück.
Benötigen Sie zum Beispiel eine Zufallszahl zwischen 5 und 15 (inklusive),
verwenden Sie mt_rand(5, 15).
min
Der optionale niedrigste Wert, der zurückgegeben werden kann (Standardwert: 0).
max
Der optionale höchste Wert, der zurückgegeben werden kann (Standardwert: mt_getrandmax()).
Ein zufälliger Integerwert zwischen min
(oder 0) und
max
(oder mt_getrandmax(), inklusive).
Version | Beschreibung |
---|---|
4.2.0 | Der Zufallszahlengenerator wird automatisch initialisiert. |
Beispiel #1 mt_rand()-Beispiel
<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";
echo mt_rand(5, 15);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
1604716014 1478613278 6
Wenn max
größer als 2^32
ist (auf einem 64-bit System), dann sind die Rückgabewerte von
mt_rand() bevorzugt gerade Zahlen, d.h. die
Rückgabewerte sind nicht mehr strikt gleichverteilt.