Forum und email

mt_rand

(PHP 4, PHP 5)

mt_rand — Erzeugt 'bessere' Zufallszahlen

Beschreibung

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 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(515);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1604716014
1478613278
6