lcg_value

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

lcg_valueГенерирует псевдослучайное число, применяя комбинированный линейный конгруэнтный метод

Описание

lcg_value(): float

Функция lcg_value() возвращает псевдослучайное значение в диапазоне (0, 1). Функция комбинирует два конгруэнтных генератора с периодами 2^31 - 85 и 2^31 - 249. Период этой функции равен произведению обоих простых чисел.

Предостережение

Функция не создаёт криптографически безопасные значения и не должна использоваться в криптографических целях или целях, которые требуют, чтобы возвращаемые значения были недоступны для разгадывания.

Если нужна криптографически безопасная случайная последовательность, можно использовать класс Random\Randomizer с движком Random\Engine\Secure. Для простых сценариев существуют функции random_int() и random_bytes() с удобным API криптографически безопасного генератора псевдослучайных чисел (CSPRNG), поддерживаемого операционной системой.

Предостережение

Масштабирование возвращаемого значения для разных интервалов путём умножения или сложения (аффинного преобразования) может сместить результирующее значение, так как числа с плавающей точкой не одинаково плотные по всему ряду чисел. Поскольку не все значения можно точно представить числом с плавающей точкой, результат афинного преобразования также может вернуть значения, выходящие за пределы запрошенного интервала.

Чтобы сгенерировать случайное число с плавающей точкой в пределах произвольного интервала, вызывают метод Random\Randomizer::getFloat(). Для генерации случайного целого числа в пределах произвольного интервала вызывают метод Random\Randomizer::getInt().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает псевдослучайное число с плавающей точкой в диапазоне от 0.0 до 1.0 включительно.

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

  • Random\Randomizer::getFloat() - Получает равномерно выбранное число с плавающей точкой
  • Random\Randomizer::getInt() - Получает равномерно выбранное целое число
  • random_int() - Получает криптографически безопасное равномерно выбранное целое число
To Top