Beschreibung
int
mt_rand
( [ int min [, int max]])
Die
PHP
rand(
)
Funktion
benutzt
den
in
der
jeweiligen
libc
enthaltenen
Zufallsgenerator
.
Gerade
in
älteren
libc-Versionen
ist
dieser
aber
oft
langsam
und
die
Qualität
der
erzeugten
Pseudozufalls-Sequenzen
ist
unbefriedigend
bis
unbekannt
.
Die
Funktion
mt_rand(
)
bietet
einen
Drop-In
Ersatz
für
die
von
der
libc
bereitgestellten
Funktionen
.
Sie
benutzt
einen
Zufallsgenerator
mit
bekannter
Characteristik
,
den
sogenannten
"
Mersenne
Twister
"
,
der
Pseudozufalls-Sequenzen
generiert
,
die
auch
kryptografischen
Ansprüchen
genügen
sollten
und
viermal
so
schnell
arbeitet
wie
der
typische
libc-Algorithmus
.
Weitere
Informationen
zum
Mersenne
Twister
und
zur
optimierten
Implementation
finden
sich
unter
http
:
/
/www.math.keio.ac.jp
/
~matumoto
/
emt.html
und
??
?
.
Ohne
die
optionalen
Parameter
min
und
max
liefert
mt_rand(
)
eine
Pseudo-Zufallszahl
zwischen
0
und
einem
plattformabhängigen
Maximalwert
,
der
mit
mt_getrandmax(
)
ermittelt
werden
kann
.
Benutzen
Sie
unbedingt
mt_srand(
)
,
um
vor
dem
ersten
Aufruf
von
mt_rand(
)
einen
neuen
Startwert
festzulegen
,
ansonsten
erhalten
Sie
bei
jedem
Programmlauf
dieselbe
Sequenz
von
Werten
.
Anmerkung
:
In
PHP-Versionen
vor
3.0.7
hatte
der
zweite
Parameter
max
nicht
den
Maximalwert
sondern
die
Größe
des
Werteintervalls
an
,
d.h
.
in
diesen
älteren
Version
muss
statt
mt_rand(
min,max
)
mt_rand(min,max-min
)
benutzt
werden
,
um
dasselbe
Ergebnis
zu
erhalten
.
Siehe
auch
mt_srand(
)
,
mt_getrandmax(
)
,
srand(
)
,
rand(
)
und
getrandmax(
)
.