9.3 生成随机数
生成随机数是程序开发中经常需要处理的内容,如对注册用户生成一个随机密码,或者生成随机验证码等。在PHP程序中,生成随机数的步骤是
(1)首先初始化随机数种子;
(2)然后使用这个种子初始化随机数发生器;
(3)最后生成随机数。
在PHP的更高版本(PHP 4.2.0以后)中,不再使用随机数种子初始化随机数发生器。通常,在PHP中使用函数mt_rand()可以生成更好的随机数,该函数的语法如下所示。
int mt_rand(int$min,int$max);
该函数返回$min到$max之间的随机数。参数$min和$max是可选的,如果没有指定这两个参数,mt_rand()返回0到RAND_MAX之间的伪随机数。代码9-3演示了该函数的用法。
代码9-3 使用函数mt_rand()生成随机数9-3.php
01 <?php
02 echo mt_rand();//返回0~RAND_MAX的伪随机数
03 echo"<br/>";
04 echo mt_rand(100,999);//生成100~999的随机数
05 echo"<hr/>";
06
07 echo"以下通过循环生成1-100之间的多个随机数<br/>";
08 for($i=0;$i<10;++$i)
09 {
10 $number=(mt_rand()%100)+1;//生成1~100的随机数
11 echo"$number<br/>";
12 }
13 ?>
【代码解析】这段代码第2行,输出一个0~RAND_MAX的随机数,第4行输出一个100~999的随机数,最后使用循环输出1~100的10个随机数。代码9-3的执行结果类似图9-3所示。
说明 函数rand()也可以用来生成随机数,它的用法和mt_rand()类似,这里不再重复举例。