Function.mt-rand
Aus PHP-Wiki
mt_rand — Erzeugt 'bessere' Zufallszahlen
Inhaltsverzeichnis |
Beschreibung
int mt_rand ( void ) int mt_rand ( int $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). Hinweis: Seit PHP 4.2.0 besteht keine Notwendigkeit mehr, den Zufallsgenerator für Zahlen mit srand() oder mt_srand() zu füttern, das geschieht nun automatisch.
Parameter-Liste
- 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()).
Rückgabewerte
Ein zufälliger Integerwert zwischen min (oder 0) und max (oder mt_getrandmax(), inklusive).
ChangeLog
Version
Beschreibung
Seit 3.0.7
In PHP-Versionen vor 3.0.7 gab der zweite Parameter
max
nicht den Maximalwert sondern die
Größe des Werteintervalls (range
an.
Um in diesen älteren Versionen das selbe Ergebnis zu erhalten,
sollten Sie in dem kurzen Beispiel rand (5,11)
verwenden, um eine Zufallszahl zwischen 5 und 15 zu erzeugen.
Beispiele
#1 mt_rand()
<?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