Heim > Artikel > Backend-Entwicklung > Was ist der Unterschied zwischen PHP mt_rand() und rand()
Unterschied: 1. Wenn der Parameter weggelassen wird, liegt die von rand() generierte Zufallszahl zwischen 0 und getrandmax(), während die von mt_rand() generierte Zufallszahl zwischen 0 und mt_getrandmax() liegt. 2. mt_rand() Die Leistung ist besser als rand().
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP Version 7.1, DELL G3-Computer
rand() und mt_rand() generieren beide eine zufällige Ganzzahl, und es gibt zwei Verwendungsformen:
int rand() int mt_rand()
int rand(int $min, int $max) int mt_rand($min, $max)
Für die erste Form:
Die von rand() generierte Zufallszahl liegt zwischen 0 und getrandmax()
Die von mt_rand() generierte Zufallszahl liegt zwischen 0 und mt_getrandmax()
Für die zweite Form:
rand() generiert eine Zufallszahl von $min bis $max
mt_rand() generiert eine Zufallszahl von $min bis $max
Vergleich:
mt_rand() ist ein besserer Zufallszahlengenerator, weil er sät einen besseren Zufallszahlen-Seed im Vergleich zu rand(); und seine Leistung ist viermal schneller als rand(), und der durch mt_getrandmax() dargestellte Wertebereich ist ebenfalls größer
PS: Die Generierung von zufälligen Gleitkommazahlen Zahlen
Es gibt eine Demo im PHP-Handbuch
function randomFloat($min = 0, $max = 1) { return $min + mt_rand() / mt_getrandmax() * ($max - $min); } var_dump(randomFloat()); var_dump(randomFloat(2, 20));
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen PHP mt_rand() und rand(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!