mt_rand
(PHP 4, PHP 5)
mt_rand — Erzeugt 'bessere' Zufallszahlen
Beschreibung
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 RAND_MAX 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: RAND_MAX).
Rückgabewerte
Ein zufälliger Integerwert zwischen min (oder 0) und max (oder RAND_MAX, inklusive).
ChangeLog
Version | Beschreibung |
---|---|
Since 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
Example#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