PHP生成非重复随机数的5种方法综述

PHP生成非重复随机数的5种方法综述
无论是Web应用程序,还是WAP或移动应用程序,随机数都有它的用途。在最近与几个小项目的接触中,我经常需要处理随机数或随机数组,因此我简要总结了PHP可以生成不重复的随机数的几种方法。(PS:方法1, 4, 5是我经常使用的,剩下的是网络整理)。

方法1:

复制代码代码如下所示:

< PHP

$数=范围(50);

洗牌打乱了数组的顺序

洗牌(数字);

/ / array_slice以数组的某一部分

$ = 6;

结果= array_slice美元(美元的数字,0,$民);

print_r($结果);

>
方法二:

复制代码代码如下所示:

< PHP

$数=范围(中);

种子随机数生成器,而不是必要的,在测试对输出没有影响之后。

Srand((浮动)的瞬时()* 1000000);

洗牌(数字);

跳过第一个值(保存索引)

同时(列表($)=每个($)){



}

>
方法三:

复制代码代码如下所示:

< PHP

功能罗兰德($开始= 0,= 20美元美元,极限= 5){

rand_array美元=范围(美元开始,美元);

洗牌($ rand_array); / /取消随机函数数组

返回array_slice(rand_array美元,0美元,限制); / / $限制拦截

}

print_r(NoRand());

>
这可以产生5个非重复值随机1-20

方法四:

复制代码代码如下所示:

< PHP

$ =数组();

当(计数($ TMP)< 5){

$ TMP { } = mt_rand(中);

川芎嗪(TMP array_unique美元=美元);

}

print_r($ TMP);

>
方法五:

复制代码代码如下所示:

< PHP

$ TMP =范围(30);

print_r(array_rand($ TMP,10));

>
这可能是简单的比称为(PS:如果指定的范围内,你要注意是否对array_rand二参数超过$ TMP的长度)。

PHP提供了非常丰富的数组函数,生成随机数。大多数可以从数组的起点开始。如果您有其他方式提供,欢迎您给予,本文将继续更新。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部