PHP 随机函数

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。

返回值

返回一个加密安全的随机整数,范围为 minmax(含)。

异常

  • 如果找不到合适随机源,将抛出异常。
  • 如果给出无效参数,将抛出 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)