PHP random_int() 函数生成加密安全的伪随机整数。这适用于无偏结果至关重要的情况,例如在扑克游戏中洗牌时。
此函数使用的随机性来源如下:
- 在 Windows 上,将始终使用 CryptGenRandom()。从 PHP 7.2.0 开始,将始终使用 CNG-API。
- 在 Linux 上,将使用 getrandom(2) 系统调用如果可用。
- 在其他平台上,将使用 /dev/urandom。
- 如果上述来源均不可用,则会出现异常
语法
random_int(min, max)
参数
min | 必填。 指定要返回的最小值,该值必须为 PHP_INT_MIN 或更高。 |
max | 必填。 指定要返回的最高值,该值必须小于或等于 PHP_INT_MAX。 |
返回值
返回一个加密安全的随机整数,范围为 min 到 max(含)。
异常
- 如果找不到合适随机源,将抛出异常。
- 如果给出无效参数,将抛出 TypeError。
- 如果 超过max 小于 min 值时,将抛出错误。
示例:random_int() 示例
下面的示例显示了random_int() 函数的用法。
<?php
//加密生成
//安全伪随机整数
//指定范围内
var_dump(random_int(1, 10000));
var_dump(random_int(-10000, 0));
var_dump(random_int(100, 1000));
?>
上述代码的输出将类似于:
int(1204)
int(-4536)
int(470)