Mathematische Funktionen
PHP Manual

mt_srand

(PHP 4, PHP 5, PHP 7)

mt_srandInitialisiert den Mersenne Twister Zufallszahlengenerator

Beschreibung

void mt_srand ([ int $seed [, int $mode = MT_RAND_MT19937 ]] )

Setzt den Zufallszahlengenerator mit seed oder mit einem Zufallswert, wenn seed nicht angegeben ist.

Hinweis: Es besteht keine Notwendigkeit, den Zufallsgenerator für Zahlen mit srand() oder mt_srand() zu füttern, das geschieht automatisch.

Parameter-Liste

seed

Ein beliebiger integer Startwert.

mode

Eine der folgenden Konstanten kann verwendet werden, um die Implementierung des zu verwendenden Algorithmus zu bestimmen.

Constant Beschreibung
MT_RAND_MT19937 Verwendet die korrekte Mersenne Twister Implementierung, die von PHP 7.1.0 an verfügbar ist.
MT_RAND_PHP Verwendet eine inkorrekte Mersenne Twister Implementierung, die vor PHP 7.1.0 standardmäßig verwendet wurde. Dieser Modus ist aus Gründen der Abwärtskompatibilität verfügbar.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Changelog

Version Beschreibung
7.1.0 srand() ist nun ein Alias von mt_srand().
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.
Seit 5.2.1 Die Mersenne-Twister-Implementation in PHP verwendet jetzt einen neuen Seeding-Algorithmus von Richard Wagner. Identische Seeds erzeugen nicht länger dieselbe Sequenz von Werten, die in früheren Versionen erzeugt wurde. Es ist nicht abzusehen, dass eine solche Änderung noch einmal nötig wird, bedingungslos darauf vertrauen sollte man aber nicht.

Beispiele

Beispiel #1 mt_srand()-Beispiel

<?php
// seed mit Mikrosekunden
function make_seed()
{
  list(
$usec$sec) = explode(' 'microtime());
  return 
$sec $usec 1000000;
}
mt_srand(make_seed());
$randval mt_rand();
?>

Siehe auch


Mathematische Funktionen
PHP Manual