Rumah >pembangunan bahagian belakang >masalah PHP >Apakah perbezaan antara php mt_rand() dan rand()
Perbezaan: 1. Jika parameter dikecualikan, nombor rawak yang dijana oleh rand() adalah antara 0 dan getrandmax(), manakala nombor rawak yang dijana oleh mt_rand() adalah antara 0 dan mt_getrandmax( 2 . Prestasi mt_rand() adalah lebih baik daripada rand().
Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP7.1, komputer DELL G3
rand() dan mt_rand() ialah kedua-duanya Terdapat dua bentuk penjanaan integer rawak:
int rand() int mt_rand()
int rand(int $min, int $max) int mt_rand($min, $max)
Untuk bentuk pertama:
dijana oleh rand() Rawak nombor adalah antara 0 dan getrandmax()
Nombor rawak yang dijana oleh mt_rand() adalah antara 0 dan mt_getrandmax()
Untuk bentuk kedua:
rand() menjana nombor rawak daripada $min hingga $max
mt_rand() menjana nombor rawak daripada $min hingga $max
Perbandingan:
mt_rand() ialah penjana nombor rawak yang lebih baik kerana ia menyemai benih nombor rawak yang lebih baik berbanding dengan rand() dan prestasinya lebih pantas daripada rand() 4 kali, julat berangka yang diwakili oleh mt_getrandmax() juga lebih besar
PS: Penjanaan nombor titik terapung rawak
Terdapat demo dalam manual PHP
function randomFloat($min = 0, $max = 1) { return $min + mt_rand() / mt_getrandmax() * ($max - $min); } var_dump(randomFloat()); var_dump(randomFloat(2, 20));
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah perbezaan antara php mt_rand() dan rand(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!