(PHP 4, PHP 5, PHP 7, PHP 8)
mt_srand — 播下一个更好的随机数发生器种子
$seed
= 0, int $mode
= MT_RAND_MT19937
): void
用 seed
来给随机数发生器播种。 没有设定 seed
参数时,会被设为随时数。
注意: 不再需要用 srand() 或 mt_srand() 给随机数发生器播种,因为现在是由系统自动完成的。
seed
任意 int 种子值。
mode
使用以下一个常量指定要使用的实现算法。
常量 | 说明 |
---|---|
MT_RAND_MT19937 |
使用固定、正确的梅森旋转(Mersenne Twister)实现,自 PHP 7.1.0 起可用。 |
MT_RAND_PHP |
使用不正确的梅森旋转(Mersenne Twister)实现,在 PHP 7.1.0 之前一直用于默认实现,此模式可用于向后兼容。 |
没有返回值。
版本 | 说明 |
---|---|
7.1.0 | srand() 成为 mt_srand() 的别名。 |
7.1.0 |
mt_rand() 成为使用梅森旋转(Mersenne
Twister)算法的固定、正确版本。要使用旧行为,请使用 mt_srand() 并将
MT_RAND_PHP 作为第二个参数。
|
示例 #1 mt_srand() 例子
<?php
// 以微秒为单位的种子
function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
return $sec + $usec * 1000000;
}
mt_srand(make_seed());
$randval = mt_rand();
?>