gmp_random

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_randomСлучайное число

Внимание

Эта функция объявлена УСТАРЕВШЕЙ, начиная с PHP 7.2.0 и была УДАЛЕНА в версии PHP 8.0.0. Использовать эту функцию крайне не рекомендуется.

Описание

gmp_random(int $limiter = 20): GMP

Генерирует случайное число. Число будет лежать в пределах от нуля до (2 ** n) - 1, где n - это число, представляющее из себя произведение числа limiter и количества бит в лимбе (limb). Если число limiter отрицательное, то будет возвращён отрицательный результат.

Лимб (дословно конечность) - внутренний GMP механизм. Технически это часть числа, помещающаяся в одно машинное слово. Количество бит в нем может различаться в разных системах. В основном это либо 32, либо 64, но это не гарантируется.

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

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

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

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

limiter

Ограничитель.

Объект GMP, целое число (int) или числовая строка (string).

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

Случайное GMP число.

Примеры

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

<?php
$rand1
= gmp_random(1); // случайное число от 0 до 1 * бит на лимб
$rand2 = gmp_random(2); // случайное число от 0 до 2 * бит на лимб

echo gmp_strval($rand1) . "\n";
echo
gmp_strval($rand2) . "\n";
?>

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

1915834968
8642564075890328087