background image

mt_rand(min,max) 
 
说明

 

如果没有提供可选参数 min   

和 max,mt_rand() 

 

返回 0   

到 RAND_MAX 之间的伪随机数。

 

例如想要 5   

到 15

 

(包括 5   

和 15

 

)之间的随机数,用 mt_rand(5, 15)。

 

很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP   

的 rand() 函数

 

默认使用 libc 随机数发生器。mt_rand() 

 

函数是非正式用来替换它的。该函数用了 Mersenne 

Twister 

 

中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 

rand() 快四倍。
提示和注释

 

注释:自 PHP 4.2.0 

 

起,不再需要用 srand()   

或 mt_srand() 函数给随机数发生器播种,现

在已自动完成。

 

注释:在 3.0.7 之前的版本中,max 

 

的含义是 range 

 

。要在这些版本中得到和上例相同 5 

 

到 15 

 

的随机数,简短的例子是 mt_rand (5, 11)  

例子
在本例中,我们会返回一些随机数:
代码如下:
 
<?phpecho(mt_rand());

echo

(mt_rand());

echo

(mt_rand(10,100));

?>
 
输出类似:
3150906288
513289678
35 
注意:上面这个函数给出的随机整数,数字之外的字符是不会出来的,若想其他字符产
生,就需另自定义方法,如下所示:
代码如下:
 
<?php

/*
* $length:随机数字符串的长度
* $type:产生随机数的类型
* */

function

 random(

$length

$type

 = "") {

$chars

 = !

$type

 ? 

"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz" : 
"0123456789abcdef";

$max

 = 

strlen

(

$chars

) - 1;

mt_srand((double)microtime() * 1000000);