(PHP 4, PHP 5, PHP 7, PHP 8)
rand — Генерирует случайное число
Функция rand() возвращает псевдослучайное целое число в диапазоне
от 0 до значения функции getrandmax(),
если функцию вызвали без параметров min и max.
Когда требуется случайное число между 5 и 15 включительно, вызывают rand(5, 15).
Функция не создаёт безопасные для криптографических целей значения, её нельзя использовать в криптографических целях или целях, которые требуют, чтобы значения возврата нельзя было угадать.
Безопасные для криптографических целей случайные последовательности создаёт композиция класса Random\Randomizer с движком Random\Engine\Secure. В простых сценариях пользуются функциями random_int() и random_bytes() с удобным и безопасным API-интерфейсом, который поддерживается безопасным для криптографических целей CSPRNG-генератором псевдослучайных чисел операционной системы.
Замечание: На отдельных платформах, например ОС Windows, функция getrandmax() возвращает максимальное целое число, значение которого не превышает 32 767. Если нужно число из диапазона больше, чем 32 767, указывают параметры
minиmax, которые разрешат создать число из большего диапазона, или вместо этой функции вызывают функцию mt_rand().
Замечание: Начиная с PHP 7.1.0 функция rand() использует тот же алгоритм генерации случайных чисел, что и функция mt_rand(). Чтобы сохранить обратную совместимость, функция rand() разрешает задавать для параметра
maxзначение меньше, чем значение параметраmin, и в отличие от функции mt_rand() не возвращаетfalse.
minНаименьшее возвращаемое значение. По умолчанию: 0.
maxНаибольшее возвращаемое значение. По умолчанию: значение функции getrandmax().
Функция возвращает псевдослучайное значение в диапазоне от min
(или 0) до max (или значение функции getrandmax()).
| Версия | Описание |
|---|---|
| 7.2.0 | В функции rand() исправили ошибку смещения по модулю. То есть последовательности, которые сгенерировали с конкретным начальным значением, могут несовпадать со значениями, которые сгенерировали в PHP 7.1 на 64-битных машинах. |
| 7.1.0 | Функция rand() стала синонимом функции mt_rand(). |
Пример #1 Пример использования функции rand()
<?php
echo rand(), "\n";
echo rand(), "\n";
echo rand(5, 15), "\n";
?>Вывод приведённого примера будет похож на:
7771 22264 11
Диапазон min–max не должен
выходить за границы значения функции getrandmax().
То есть (max − min) <= getrandmax().
В противном случае функция rand() может возвращать
менее качественные случайные числа.