📅  最后修改于: 2023-12-03 14:54:06.320000             🧑  作者: Mango
在 PHP 中,使用 rand()
函数可以生成随机数字。但是,这些数字并不是真正意义上的随机,而是伪随机。也就是说它们是根据算法计算出来的,所以如果不指定种子,生成的随机数会是相同的。为了解决这个问题,我们可以使用种子来让随机数更具有随机性。
srand()
函数设定种子可以使用 srand()
函数设定种子,该函数需要接受一个整数作为种子。我们可以使用当前时间毫秒数作为种子。
srand((int) (microtime(true) * 1000));
$random_number = rand();
该代码会使用当前时间毫秒数作为种子,然后使用 rand()
函数生成一个随机数。
mt_srand()
函数设定种子除了 srand()
函数,PHP 还提供了更为强大的随机数生成函数 mt_rand()
。我们同样可以使用 mt_srand()
函数设定种子,并使用 mt_rand()
函数生成随机数字。
mt_srand((int) (microtime(true) * 1000));
$random_number = mt_rand();
需要注意的是,mt_srand()
和 srand()
函数只需要设定一次种子即可,如果需要生成多个随机数,不需要每次都设定种子。
random_int()
函数生成加密安全的随机数PHP 还提供了加密安全的随机数生成函数 random_int()
,该函数使用 random_bytes()
函数生成随机数。需要注意的是,该函数仅在 PHP 7.0 以上版本才能使用。
$random_number = random_int(0, 100);
该代码会生成一个介于 0 和 100 之间的随机数。
在 PHP 中生成随机数字需要指定种子,以保证生成的随机数随机性更好。我们可以使用 srand()
或 mt_srand()
函数设定种子,使用 rand()
或 mt_rand()
函数生成随机数。如果需要生成加密安全的随机数,可以使用 random_int()
函数。