# gmp_random

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

gmp_random — Random 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\Engine\Secure 引擎用于 Random\Randomizer。对于简单的用例，random_int() 和 random_bytes() 函数提供了操作系统的 CSPRNG 支持的方便且安全的 API。

### 参数

`limiter`

  The limiter.

  GMP 对象、int 或 string，可以按照跟在 gmp_init() 中使用字符串并自动检测 base（即当 base 等于 0 时）相同的逻辑将其解释为数字。

### 返回值

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open