rand
(PHP 4, PHP 5, PHP 7)
rand — Генерирует случайное число
Описание
$min
, int $max
) : int
При вызове без параметров min
и max
,
возвращает псевдослучайное целое в диапазоне от 0 до getrandmax().
Например, если вам нужно случайное число между 5 и 15 (включительно),
вызовите rand(5, 15)
.
Данная функция не генерирует криптографически безопасные значения и не должна использоваться в криптографических целях. Если вам требуется криптографически безопасное значение, подумайте об использовании функций random_int(), random_bytes() или openssl_random_pseudo_bytes() вместо данной.
Замечание: На некоторых платформах (таких как Windows) getrandmax() всего лишь 32767. Чтобы расширить диапазон, используйте параметры
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);
?>
Результатом выполнения данного примера будет что-то подобное:
7771 22264 11
Примечания
Диапазон min
- max
не должен
выходить за границы getrandmax(). То есть
(max
-
min
) <= getrandmax().
В противном случае, rand() может возвращать
менее качественные случайные числа.
Смотрите также
- srand() - Изменяет начальное число генератора псевдослучайных чисел
- getrandmax() - Возвращает максимально возможное случайное число
- mt_rand() - Генерирует случайное значение методом с помощью генератора простых чисел на базе Вихря Мерсенна
- random_int() - Генерирует криптографически безопасные псевдослучайные целые числа
- random_bytes() - Генерирует криптографически безопасные псевдослучайные байты
- openssl_random_pseudo_bytes() - Генерирует псевдослучайную последовательность байт