Rumah >pembangunan bahagian belakang >masalah PHP >Apakah perbezaan antara php mt_rand() dan rand()

Apakah perbezaan antara php mt_rand() dan rand()

青灯夜游
青灯夜游asal
2021-10-19 18:40:252860semak imbas

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

Apakah perbezaan antara php mt_rand() dan 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn