Gold Vision Communications / USA
 GOLDVISION.COM
Serving the Multimedia Community since 1989.
English Site | Spanish Site 

 Allgemeines

 Web Hosting

 Virtual Dedicated Servers

 Domaincheck

 Bestellen

 Order Status

 Support

 Kontakt

 Download

 Network

 Network Status

 Webdesign Partner

 Kreditkartenzahlung

 AGB

 Impressum

 Rechtliche Hinweise

 Datenschutz
  PHP / mt_rand
mt_rand

mt_rand

(PHP 3>= 3.0.6, PHP 4 )

mt_rand -- Erzeugt 'bessere' Zufallszahlen

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 http://www.scp.syr.edu/~marc/hawk/twister.html.

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().


© 1998-2009 Gold Vision Communications All Rights Reserved.