网站首页 文章专栏 php如何产生不重复随机数?
php如何产生不重复随机数?
编辑时间:2019-08-01 11:49 作者:小铨 浏览量:92

在php项目中,不同的项目中,随机数都有其用武之地。在最近做的几个模块中,也经常需要产出不重复随机数,所以,对于PHP如何产生不重复随机数常用的5种方法进行小结一下。

方法一

1
2
3
4
5
$numbers = range (1,50); //shuffle 将数组顺序随即打乱 
shuffle ($numbers); //array_slice 取该数组中的某一段 
$num=6; 
$result array_slice($numbers,0,$num); //截取数组
var_dump($result);

方法二

1
2
3
4
5
$numbers = range (1,20); 
srand ((float)microtime()*1000000); //本函数传入参数后,配置随机数的种子。本例加入时间的因素,以执行时的百万分之一秒当随机数种子
shuffle ($numbers); 
while (list($key$number) = each ($numbers)) { 
echo "$number "; }

方法三

1
2
3
4
5
6
7
/*$bengin-$end间随机产生5个不重复的值*/
function getRand($begin=0,$end=20,$limit=5){ 
$rand_array=range($begin,$end); 
shuffle($rand_array);
return array_slice($rand_array,0,$limit);
print_r(getRand());

方法四

1
2
3
4
5
6
$tmp=array(); 
while(count($tmp)
$tmp[]=mt_rand(1,20); 
$tmp=array_unique($tmp); //去重
var_dump($tmp);

方法五

1
2
$tmp = range(1,30);
print_r(array_rand($tmp,10));



    出自:铨程互动

    地址:www.wuhequan.cn

    转载请注明出处!


来说两句吧
最新评论
0.078731s