rand

(PHP 4, PHP 5, PHP 7, PHP 8)

randГенерирует случайное число

Описание

rand(): int
rand(int $min, int $max): int

Функция rand() возвращает псевдослучайное целое число в диапазоне от 0 до значения функции getrandmax(), если функцию вызвали без параметров min и max. Вызов rand(5, 15) вернёт случайное число между 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

Примечания

Внимание

Диапазон minmax не должен выходить за границы значения функции getrandmax(). То есть (maxmin) <= getrandmax(). В противном случае функция rand() может возвращать менее качественные случайные числа.

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

  • srand() - Задаёт начальное число генератора псевдослучайных чисел
  • getrandmax() - Возвращает максимально возможное случайное число
  • mt_rand() - Генерирует случайное значение через генератор случайных чисел на базе Вихря Мерсе́нна
  • random_int() - Получает криптографически безопасное равномерно выбранное целое число
  • random_bytes() - Получает криптографически безопасные случайные байты

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top