(PHP 4, PHP 5, PHP 7)
mt_rand — Erzeugt eine Zufallszahl nach dem Mersenne Twister Verfahren
$min
   , int $max
   )Diese Funktion erzeugt keine kryptographisch sicheren Werte und sollte nicht für kryptographische Zwecke verwendet werden. Wenn kryptographisch sichere Werte benötigt werden, sollten stattdessen die Funktionen random_int(), random_bytes() oder openssl_random_pseudo_bytes() verwendet werden.
Viele Zufallszahlengeneratoren, die auf älteren libc-Versionen basieren, haben seltsame oder doch zumindest unerwartete Verhaltensweisen und sind zudem recht langsam. Die Funktion mt_rand() ist ein vollwertiger Ersatz für das ältere rand(). 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).
  
minDer optionale niedrigste Wert, der zurückgegeben werden kann (Standardwert: 0).
maxDer 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),
   oder FALSE, wenn max kleiner ist als
   min.
  
| Version | Beschreibung | 
|---|---|
| 7.2.0 | mt_rand() erhielt einen Bugfix für einen Modulus-Verzerrungsfehler. Das bedeutet, dass Folgen mit einem bestimmten Startwert sich von PHP 7.1 auf 64-bit Rechnern unterscheiden können. | 
| 7.1.0 | rand() wurde zu einem Alias von mt_rand(). | 
| 7.1.0 | 
        mt_rand() 
        verwendet nun eine korrekte Version des Mersenne Twister
        Algorithmus. Um auf das vorherige Verhalten auszuweichen, kann
        mt_srand() mit MT_RAND_PHP als
        zweitem Parameter verwendet werden.
        | 
      
| 5.3.4 | 
        Erzeugt eine E_WARNING und gibt FALSE zurück,
        wenn max < min.
        | 
      
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
    Der Bereich von min und max
    darf nicht größer sein als mt_getrandmax(). Das heißt,
    (max - min) <=
    mt_getrandmax(). Andernfalls, kann
    mt_rand() schlechtere Zufallszahlen liefern als es sollte.