PHP程序生成给定范围内的随机数(最小值,最大值)
随机数可以通过多种方式生成,其中一些是加密安全的,另一些则不是。 rand() 和 random_int() 等内置函数可用于获取范围内的随机数。
使用 rand()函数: rand()函数在给定范围之间或 0 和默认最大值 (getgrandmax()) 之间生成一个伪随机数,这取决于系统。
句法:
int rand( $min, $max )
参数: rand()函数接受两个可选参数,如上文所述和下文所述。
- $min:可选参数,用于设置随机数的下限。 min 的默认值为 0。
- $max:可选参数,用于设置随机数的上限。 max 的默认值是 getgrandmax() 的返回值,这取决于系统(对于 Windows 是 32767)。
程序1:使用rand()函数生成随机数的PHP程序。
输出:
Random number: 77551982
Random number in range (7, 100): 37
注意: rand()函数是伪随机函数,这意味着它从机器中获取种子并根据它生成数字。因此,数字生成方法不是完全随机的。它可以在一定程度上被跟踪。所以它在密码学上是不安全的。它不用于随机化非常重要的密码学。要生成加密安全的随机数,请使用 random_int()函数。
使用 random_int()函数: random_int()函数用于生成加密安全的随机数。这些数字可用于无偏结果。 Windows 中的函数CryptGenRandom() 和 Linux 中的 getrandom(2) 系统调用来生成随机数。
句法:
int random_int( $min, $max )
参数: random_int()函数接受上面提到和下面描述的两个参数。
- $min:保存随机数的下限。
- $max:保存随机数的上限。
程序 2:使用 random_int()函数生成范围内的随机数。
输出:
Random number in range (35, 100): 93
Random number in range (10, 30): 28