Forum und email

mt_rand

(PHP 4, PHP 5)

mt_rand — véletlenszámot generál - jobban :)

Leírás

int mt_rand ([ int $min ], int $max )

A régebbi libc-k véletlenszám generátorai kétes vagy bizonytalan jellegűek és lassúak voltak. Alapértelmezés szerint, a PHP a libc véletlenszám generátorát használja a rand() függvényben. A mt_rand() függvény egy "beugrós" helyettesítése ennek. Ez egy ismert jellemvonásokkal bíró véletlenszám generátor, a Mersenne Twister, ami többféle kriptogáfiai eljárás inicializálásához (seeding) is megfelelő véletlenszámokat generál kb. négyszer gyorsabban, mint az átlagos libc rand függvények. (Részletesebb információkért nézd meg a » Mersenne Twister honlapját).

Ha a min és max paraméterek nélkül hívod meg az mt_rand() függvényt, akkor az ál véletlenszám értéke 0 és RAND_MAX közé fog esni. Ha pl. 5 és 15 közé (bezárólag) eső véletlen számot akarsz kapni, akkor mt_rand(5, 15) kell írni.

Régebbi PHP verziókban a véletlenszám generátor kiinduló értékét a mt_srand() függvénnyel kell beállítani, de a 4.2.0-tól ez már nem szükséges.

Note: A 3.0.7 verziók előtt a max paraméter helyett range (tartomány) szerepelt. Ezekben a verziókban az előző példával egyenértékű megoldás a mt_rand (5, 11), hogy 5 és 15 közé eső véletlen számot kapj.

Lásd még: mt_srand(), mt_getrandmax() és rand()!