php取随机数-rand函数生成随机数的范围_PHP内置函数生成随机数方式总结

1. 兰特函数

rand()函数可以生成随机整数,无需添加任何参数。 如果要设置随机数的范围,可以在函数中设置最小值和最大值。 如果需要生成随机数种子,请使用 srand 函数配置。

回声兰特(); // 生成0~RAND_MAX之间的随机数。 Windows系统下RAND_MAX的值为32767。RAND_MAX可以通过函数getrandmax()获得

回声兰特(1000000,9999999); // 生成1000000~9999999之间的随机数

$种子=时间(); // 使用时间作为种子源

srand($种子); // 播种随机数生成器种子

回声兰特(); // 根据种子生成一个0~32768之间的随机数。如果$seed的值固定,则生成的随机数也将保持不变。

回声兰特(1000000,9999999); // 根据种子生成一个1000000~9999999之间的随机数。如果$seed的值固定,则生成的随机数也将保持不变。

2.mt_rand函数

mt_rand() 使用 Mersenne Twister 算法返回随机整数。 与 rand() 函数的主要区别在于,mt_rand() 生成随机值的平均速率比 libc 提供的 rand() 快四倍php取随机数,并且播种函数使用 mt_srand()。 而不是 srand()。 尽管存在这种差异,但它们的用法是相似的,如下所示:

回显 mt_rand(); // 生成0~RAND_MAX之间的随机数。 Windows系统下RAND_MAX的值为2147483647(与rand()中的RAND_MAX不同)。 RAND_MAX 可以通过函数 mt_getrandmax() 获得

回显 mt_rand(1000000, 9999999); // 生成1000000~9999999之间的随机数,不受系统RAND_MAX影响

$种子=时间(); // 使用时间作为种子源

mt_srand($种子); // 播种随机数生成器种子

回声兰特(); // 根据种子生成0~RAND_MAX之间的随机数。 如果$seed值固定php取随机数,则生成的随机数也将保持不变。

回声兰特(1000000,9999999); // 根据种子生成 1000000~9999999 之间的随机数。 如果$seed值固定,则生成的随机数也将保持不变。

注意:rand()和mt_rand()生成的随机数都是整数,不包含英文字母。

3.uniqid函数

uniqid() 函数根据当前时间(以毫秒为单位)生成唯一 ID。 生成的ID默认宽度为13位或23位,由英文字母和数字组成。 uniqid() 函数有两个参数,格式如下:

uniqid(前缀,more_entropy)

在,

prefix:生成的ID的前缀

more_entropy:是否添加附加熵

以下程序,

回显uniqid(); // 生成13位字符串,如:55f540e273e93

echo uniqid('一。'); // 生成一个前缀为一的字符串。 加13个随机字符,如:one.55f540e273e93

echo uniqid('两个。', true); // 生成前缀为 2 的字符串。 再加上23个随机字符(熵加了),如:two.55f540e273e932.77804707,比上一个多了10位,即多了:2.77804707

注意:由于是基于系统时间,因此该函数生成的ID并不是最优的。 要生成绝对唯一的 ID,请使用 md5() 函数。