mt_rand()与兰德()函数怎么在php中使用

介绍

这篇文章给大家介绍mt_rand()与兰德()函数怎么在php中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使php经得久不衰。

例子1。范mt_rand()例,代码如下:

& lt; ? php 

echo mt_rand ()。“n";
echo mt_rand ()。“n";
echo mt_rand (15);
?在


上例的输出类似于:
,
1604716014
1604716014
6

注:<强>自PHP 4.2.0起,不再需要用将srand()或mt_srand()函数给随机数发生器播种,现已自动完成。

注:<强>在3.0.7之前的版本中,马克斯的含义是范围,要在这些版本中得到和上例相同5到15的随机数,简短的例子是mt_rand (5, 11)。

详情可查阅mt_srand (), mt_getrandmax rand()和()相关文档。

rand()函数返回随机整数。

语法:兰德(最小,最大)

参数描述最小,最大可选,规定随机数产生的范围。

说明:如果没有提供可选参数min和max, rand()返回0到RAND_MAX之间的伪随机整数,例如,想要5到15(包括5和15)之间的随机数,用兰德(5、15)。

<>强提示和注释

注释:在某些平台下(例如Windows) RAND_MAX只有32768,如果需要的范围大于32768年,那么指定min和max参数就可以生成大于RAND_MAX的数了,或者考虑用mt_rand()来替代它。

注释:<>强自PHP 4.2.0起,不再需要用将srand()或mt_srand()函数给随机数发生器播种,现在已自动完成。

注释:<强>在3.0.7之前的版本中,马克斯的含义是范围,要在这些版本中得到和上例相同5到15的随机数,简短的例子是兰德(5,11)。

mt_rand()真的会比rand()快4倍吗?带着这个疑问一边自己测试一边看网上的介绍。测试如下。

mt_rand()和rand()对比测试一、测试代码如下:

代码如下:

& lt; ? php 
max=100000美元,,
$ timeparts=爆炸(& # 39;& # 39;()),,
少许=timeparts美元[1].substr (timeparts美元[0],1),,
我=0;美元,
, ($ i & lt;马克斯美元){,
rand (),,
我+ +,美元,
},
$ timeparts=爆炸(& # 39;& # 39;()),,
结束=timeparts美元[1].substr (timeparts美元[0],1),,
时间=结束-少许美元,美元,
回声“{$马克斯}{$时间}秒使用中产生随机数rand ();“;
,
$ timeparts=爆炸(& # 39;& # 39;()),,
少许=timeparts美元[1].substr (timeparts美元[0],1),,
我=0;美元,
, ($ i & lt;马克斯美元){,
mt_rand (),,
我+ +,美元,
},
$ timeparts=爆炸(& # 39;& # 39;()),,
结束=timeparts美元[1].substr (timeparts美元[0],1),,
时间=结束-少许美元,美元,
回声“{$马克斯}{$时间}秒使用中产生随机数mt_rand ();“,,
?在


测试结果如下:
//第一次测试
100000年0.024894952774048秒使用随机数生成rand ();
100000年0.028925895690918秒使用随机数生成mt_rand ();
//第二次测试
100000年0.03147292137146秒使用随机数生成rand ();
100000年0.02997088432312秒使用随机数生成mt_rand ();
//第三次测试
100000年0.028102874755859秒使用随机数生成rand ();
100000年0.02803111076355秒使用随机数生成mt_rand ();
//第四次测试
100000年0.025573015213013秒使用随机数生成rand ();
100000年0.028030157089233秒使用随机数生成mt_rand ();

这个结果只是几次的显示结果,多测试几次你会发觉,两者是交替变化的,其实两者没有太大的差异。

<强> mt_rand()和rand()对比测试二

本人测试环境,操作系统:windows xp, apache 2.0, php 5.2.12内存2 g

代码如下:

代码如下:

& lt; ? php 
microtime_float()的函数,
{,
,,,列表(美国铀浓缩公司(sec)美元=爆炸(““()),,
,,,返回((浮动)美国铀浓缩公司+(浮动)美元sec),,
},
$ time_start=microtime_float (),,
($ i=0;i<美元;1000000;+ + $ i),
{
,,,rand (),,
},
$ time_end=microtime_float (),,
时间=time_end - time_start;美元美元,
回声“兰德()美元secondsn";
,
$ time_start=microtime_float (),,
($ i=0;i<美元;1000000;+ + $ i),
{,
,,,mt_rand (),,
},
$ time_end=microtime_float (),,
时间=time_end - time_start;美元美元,
回声“mt_rand()美元secondsn",,
?在


测试结果如下:
//第一次
rand()成本0.25919604301453秒
mt_rand()成本
//第0.28554391860962秒二次
rand()成本0.31136202812195秒

mt_rand()与兰德()函数怎么在php中使用