在PHP中生成随机数的示例

  介绍

这篇文章主要介绍在PHP中生成随机数的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

第一种方法用mt_rand ()

function  GetRandStr(长度){   $ str=& # 39; abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789& # 39;;   len=strlen (str)美元1美元;   $ randstr=& # 39; & # 39;;   (我=0;i<美元;长度;美元美元我+ +){   $ num=mt_rand (0, len美元);   randstr 美元。=,str美元(美元num);   }   return  randstr美元;   }   美元数量=GetRandStr (6);   echo 美元数量;

第二种方法(最快的)

function  make_password (=, length 美元,8,)   {   ,//密码字符集,可任意添加你需要的字符   ,chars 美元;=,阵列(& # 39;一个# 39;,,& # 39;b # 39;,, & # 39; c # 39;,, & # 39; d # 39;,, & # 39; e # 39;,, & # 39; f # 39;,, & # 39;舌鳎# 39;,,& # 39;h # 39;,,   ,& # 39;我# 39;,,& # 39;强生# 39;,,& # 39;k # 39;,, & # 39; l # 39; & # 39;猴# 39;,,& # 39;n # 39;,, & # 39; o # 39;,, & # 39; p # 39;,, & # 39;提问# 39;,,& # 39;" # 39;,,& # 39;& # 39;,,   ,& # 39;t # 39;,, & # 39; u # 39;,, & # 39; v # 39;,, & # 39; w # 39;,, & # 39; x # 39;,, & # 39; y # 39; & # 39; z # 39;,, & # 39;一个# 39;,,& # 39;b # 39;,, & # 39; c # 39;,, & # 39; d # 39;,,   ,& # 39;e # 39;,, & # 39; f # 39;,, & # 39;舌鳎# 39;,,& # 39;h # 39;,, & # 39;我# 39;,,& # 39;强生# 39;,,& # 39;k # 39;,, & # 39; l # 39; & # 39;猴# 39;,,& # 39;n # 39;,, & # 39;阿,,,   ,& # 39;p # 39;,, & # 39;提问# 39;,,& # 39;" # 39;,,& # 39;& # 39;,,& # 39;t # 39;,, & # 39; u # 39;,, & # 39; v # 39;,, & # 39; w # 39;,, & # 39; x # 39;,, & # 39; y # 39; & # 39; z # 39;,,   ,& # 39;0 & # 39;,,& # 39;1 & # 39;,,& # 39;2 & # 39;,,& # 39;3 & # 39;,,& # 39;4 & # 39;,,& # 39;5 & # 39;,,& # 39;6 & # 39;,,& # 39;7 & # 39;,,& # 39;8 & # 39;,,& # 39;9 & # 39;,,& # 39;! & # 39;,,   ,& # 39;@ # 39;& # 39;# & # 39;,,& # 39;$ & # 39;,,& # 39;% & # 39;,,& # 39;^ & # 39;,& # 39;,& # 39;,& # 39;* & # 39;,,& # 39;(& # 39;,& # 39;)& # 39;,,& # 39;& # 39;,,& # 39;_ # 39;,,   ,& # 39;[& # 39;,& # 39;]& # 39;,,& # 39;{& # 39;,& # 39;}& # 39;,,& # 39;& lt; & # 39;, & # 39; & # 39;,, & # 39; ~ & # 39;,, & # 39;“& # 39;, & # 39; + & # 39;,, & # 39;=& # 39;,, & # 39;, & # 39;,,   ,& # 39;强生# 39;,,& # 39;;& # 39;,& # 39;:& # 39;,& # 39;/& # 39;,,& # 39;? & # 39;,& # 39;| & # 39;);   ,//在,chars 美元;中随机取,length 美元;个数组元素键名   ,keys 美元;=,用于($字符,长度美元),,   ,password 美元;=,& # 39;& # 39;;   ,($小姐:=,0;,美元小姐:& lt;,长度;美元,美元我+ +)   ,{   ,//将,length 美元;个数组元素连接成字符串   password 美元。=,$字符[键[$ i]]美元;   ,}   美元,return 密码;   }

第三种取当时时间戳

function  get_password (=, length 美元,8,),   {   ,str 美元;=,substr (md5(()), 0,,美元长度);//md5加密,时间()当前时间戳   ,return  str美元;   }

第四种打乱字符串

function  getrandstr () {   $ str=& # 39; ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890& # 39;;   $ randStr =,作用是(str);//打乱字符串   randStr美元$兰德=,substr (0, 6);//substr(字符串、开始、长度),返回字符串的一部分   return 美元货币兰特;   }

第五种开始创建验证码(直接用函数生成,比较方便快捷)

code 美元;=,兰德(10000,,99999);

php mt_rand生成0 ~ 1随机小数的效果比较

lcg_value说明

浮动lcg_value (void)
<代码> lcg_value() 返回范围为(0,1)的一个伪随机数。本函数组合了周期为2 ^ 31 - 85和2 ^ 31 - 249的两个同余发生器。本函数的周期等于这两个素数的乘积。

返回:范围为(0,1)的伪随机数。

& lt; php ?   (我=0;美元,美元i<5;,我+ +美元){   .PHP_EOL, echo  lcg_value ();   }   ?在

输出:

0.11516515851995 0.68275174031189 0.064684551575297


0.55730746529099
0.70215008878091

两种生成0 ~ 1随机小数方法进行比较

1。执行时间比较

执行万10次基于<代码> mt_rand() 与<代码> mt_getrandmax() 算法的运行时间

& lt; php ?/* *   0 ~ 1,*生成随机小数   ,* @param  Int 分美元   美元,* @param  Int  max   ,* @return 浮动   ,*/function  randFloat (min=0美元,美元max=1) {   +,return  min 美元;mt_rand ()/mt_getrandmax (), *, (max - min美元);   }   ,//,获取microtime   function  get_microtime () {   ,列表(sec)美元购买美元,,,=,爆炸(& # 39;,& # 39;,,());   ,return (浮动)usec 美元;+,sec美元(浮动);   }   ,//,记录开始时间   $ starttime =, get_microtime ();   ,//,执行万10次获取随机小数   (我=0;美元,美元i

在PHP中生成随机数的示例