mt_rand - Генерирует случайное значение методом mt
Вернуться к: Математические функции
mt_rand
(PHP 4, PHP 5, PHP 7)
mt_rand — Генерирует случайное значение методом mt
Описание
$min
, int $max
)Многие генераторы случайных чисел в старых библиотеках имеют сомнительные или неизвестные характеристики, а также работают довольно медленно. По умолчанию, PHP использует генератор случайных чисел libc с помощью функции rand(). Функция mt_rand() представляет собой удобную замену этой функции. Она использует генератор случайных чисел с известными характеристиками, основанный на "» Вихре Мерсенна", который генерирует случайные числа в среднем в четыре раза быстрее, чем libc rand().
Вызванная без необязательных параметров min
и
max
, функция mt_rand()
возвращает псевдослучайное значение между 0 и mt_getrandmax().
Если вам нужно, например, случайное число между 5 и 15 (включительно),
используйте вызов mt_rand(5,15)
Список параметров
-
min
-
Необязательный параметр: минимальное значение случайного числа (по умолчанию: 0)
-
max
-
Необязательный параметр: максимальное значение случайного числа (по умолчанию: mt_getrandmax())
Возвращаемые значения
Случайное целое значение между min
(или 0)
и max
(или mt_getrandmax(), включительно),
или FALSE
в случае, если max
меньше min
.
Список изменений
Версия | Описание |
---|---|
5.3.4 |
Приводит к ошибке E_WARNING и возвращает FALSE , если
max < min .
|
Примеры
Пример #1 Пример использования mt_rand()
<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";
echo mt_rand(5, 15);
?>
Результатом выполнения данного примера будет что-то подобное:
1604716014 1478613278 6
Примечания
Данная функция не генерирует криптографически безопасные значения и не должна использоваться в криптографических целях. Если вам требуется криптографически безопасное значение, подумайте об использовании функции openssl_random_pseudo_bytes() вместо данной.
Распределение значений, возвращаемых mt_rand(),
отдает предпочтение четным числам на 64-битных сборках PHP,
если параметр max
больше 2^32.
Потому что, если max
больше, чем значение, возвращаемое
функцией mt_getrandmax(), то вывод генератора случайных чисел
округляется в большую сторону.
Смотрите также
- mt_srand() - Переинициализирует генератор случайных чисел mt
- mt_getrandmax() - Показывает максимально возможное значение случайного числа
- openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes
- rand() - Генерирует случайное число
Вернуться к: Математические функции