mt_rand()函数对mt_srand()函数的继承

如图下:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
mt_srand(1);
echo mt_rand(); // 输出一个随机数
echo "<br>";
echo mt_rand(); // 输出另一个随机数
echo "<br>";
echo mt_rand(); // 输出另一个随机数
echo "<br>";
echo mt_rand(); // 输出另一个随机数
mt_srand(1);
echo "<br>";
echo mt_rand(); // 会输出与第一次使用 mt_srand(1) 后 mt_rand() 生成的第一个数相同的数

mt_srand()函数是用来设置随机数种子的,在第一个mt_rand函数调用后,会再次生成一个随机数,
在第二个mt_rand函数调用后,会根据第一次的随机数再次生成另一个随机数,以此类推。
而到了mt_srand(1)后,随机数种子被重置,
所以在第二次使用mt_srand播种后在下面那个mt_rand()调用中,会会生成与第一次生成的随机数相同的数。