background image

 

数用了 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);
    for($i = 0; $i < $length; $i++) {
        $string .= $chars[mt_rand(0, $max)];
    }
    return $string;
}
$var=random(32,'haha');
echo($var);
?>

输出:
fe61e294e5f46437cb3a92b92643ead6