Dutch PHP Conference 2025 - Call For Papers

gmp_random

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

gmp_randomRandom number

Увага

Ця функція ЗАСТАРІЛА, починаючи з PHP 7.2.0, та ВИЛУЧЕНА в PHP 8.0.0. Вкрай не рекомендується на неї покладатися.

Опис

gmp_random(int $limiter = 20): GMP

Generate a random number. The number will be between 0 and (2 ** n) - 1, where n is the number of bits per limb multiplied by limiter. If limiter is negative, negative numbers are generated.

A limb is an internal GMP mechanism. The number of bits in a limb is not static, and can vary from system to system. Generally, the number of bits in a limb is either 32 or 64, but this is not guaranteed.

Застереження

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

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

Параметри

limiter

The limiter.

GMP-номер типу resource в PHP 5.5 та старіших версіях, об'єкт GMP в PHP 5.6 та новіших, або ж числовий рядок за можливості перетворення останнього на число.

Значення, що повертаються

A random GMP number.

Приклади

Приклад #1 gmp_random() example

<?php
$rand1
= gmp_random(1); // random number from 0 to 1 * bits per limb
$rand2 = gmp_random(2); // random number from 0 to 2 * bits per limb

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

Поданий вище приклад виведе:

1915834968
8642564075890328087

add a note

User Contributed Notes 1 note

up
1
asphp at dsgml dot com
8 years ago
Warning: Do not use this function.

Use gmp_random_bits() or gmp_random_range() instead.

The documentation and the code for this function do NOT match, and in any case this function is quite useless.
To Top