mt_rand
(PHP 4, PHP 5, PHP 7, PHP 8)
mt_rand — Generate a random value via the Mersenne Twister Random Number Generator
Опис
Many random number generators of older libcs
have dubious or unknown characteristics and are slow.
The mt_rand() function is a drop-in replacement
for the older rand(). It uses a random
number generator with known characteristics using the
» Mersenne Twister, which
will produce random numbers four times faster than what the average
libc rand() provides.
If called without the optional min
,
max
arguments mt_rand()
returns a pseudo-random value between 0 and
mt_getrandmax(). If you want a random number
between 5 and 15 (inclusive), for example, use mt_rand(5,
15)
.
Застереження
Ця функція не генерує криптографічно безпечні значення, тож не
повинна використовуватись для криптографічних цілей чи тих, що
вимагають використання непередбачуваних значень.
Якщо потрібна криптографічно безпечна випадковість, можна використати
Random\Randomizer разом з рушієм
Random\Engine\Secure. Для простих випадків є функції
random_int() і random_bytes(), які
забезпечують зручний і безпечний API до системного
CSPRNG.
Параметри
min
-
Optional lowest value to be returned (default: 0)
max
-
Optional highest value to be returned (default: mt_getrandmax())
Значення, що повертаються
A random integer value between min
(or 0)
and max
(or mt_getrandmax(), inclusive),
or false
if max
is less than min
.
Приклади
Приклад #1 mt_rand() example
<?php
echo mt_rand(), "\n";
echo mt_rand(), "\n";
echo mt_rand(5, 15), "\n";
?>
Поданий вище приклад виведе щось
схоже на:
Примітки
Увага
min
max
range must
be within the range mt_getrandmax(). i.e. (max
-
min
) <= mt_getrandmax()
Otherwise, mt_rand() may return poorer random numbers
than it should.