无论是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提供了非常丰富的数组函数,生成随机数。大多数可以从数组的起点开始。如果您有其他方式提供,欢迎您给予,本文将继续更新。