Математические функции
PHP Manual

mt_rand

(PHP 4, PHP 5, PHP 7)

mt_randГенерирует случайное значение методом с помощью генератора простых чисел на базе Вихря Мерсена

Описание

int mt_rand ( void )
int mt_rand ( int $min , int $max )
Предостережение

Данная функция не генерирует криптографически безопасные значения и не должна использоваться в криптографических целях. Если вам требуется криптографически безопасное значение, подумайте об использовании функций random_int(), random_bytes(), или openssl_random_pseudo_bytes() вместо данной.

Многие генераторы случайных чисел в старых библиотеках имеют сомнительные или неизвестные характеристики, а также работают довольно медленно. Функция mt_rand() представляет собой замену старой функции 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.

Список изменений

Версия Описание
7.2.0 Для mt_rand() произведено исправление бага смещения по модулю. Это означает, что последовательности сгенерированные с конкретным начальным значением могут отличаться от сгенерированных в PHP 7.1 для 64-битных машин.
7.1.0 rand() теперь является псевдонимом mt_rand().
7.1.0 Функция mt_rand() была обновлена и теперь использует коректную версию генератора случайных чисел не основе Вихря Мерсена. Для использования старого поведения, используйте mt_srand() со вторым параметром, установленным в MT_RAND_PHP.
5.3.4 Приводит к ошибке E_WARNING и возвращает FALSE, если max < min.

Примеры

Пример #1 Пример использования mt_rand()

<?php
echo mt_rand() . "\n";
echo 
mt_rand() . "\n";

echo 
mt_rand(515);
?>

Результатом выполнения данного примера будет что-то подобное:

1604716014
1478613278
6

Примечания

Внимание

Диапазон min - max не должен выходить за границы mt_getrandmax(). То есть (max - min) <= mt_getrandmax(). В противном случае, mt_rand() может возвращать менее качественные случайные числа.

Смотрите также


Математические функции
PHP Manual