mt_getrandmax
mt_srand
Mathematische Funktionen
PHP Manual

# mt_rand

(PHP 4, PHP 5)

mt_rand — Erzeugt 'bessere' Zufallszahlen

### 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

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

### Siehe auch

- mt_srand()
- mt_getrandmax()
- rand()

mt_getrandmax
mt_srand
Mathematische Funktionen
PHP Manual