php中如何获取不重复的随机数?

原创 PHP笔记  2017-11-29 16:35  阅读 2,276 views 次

在php中,获取随机数的方法有很多,接下来就介绍几种方法,供大家参考。

一、使用shuffle()函数来产生随机数

在php中,shuffle()函数是用来操作数组的,即把数组中的元素按随机顺序重新排列。

1、获取0-10中的随机数的方法步骤(其它范围类似)

1、创建一个数组,数组的元素值为0到10的数(可以用range()函数来创建);

2、使用shuffle()函数来对数组元素随机排列;

3、输出数组中的元素。

实例1:

<?php
$arr=range(0,10);
shuffle($arr);
foreach($arr as $v)
{echo $v." ";}
?>

输出结果:11个随机数

说明:

1、通过这种方法得到的随机数不会重复;

2、有关foreach()函数的用法见:foreach循环语句用法笔记

3、有关range()函数的用法见:php range()函数笔记

4、有关shuffle()函数的用法见:php shuffle()函数笔记

二、使用rand()获取随机数

在php中,rand()函数是用来返回指定范围内个随机整数。

1、获取0-10中的随机数的方法步骤(其他范围类似):

使用rand()函数获取随机数很简单,直接用该函数就可以得到指定范围内的随机数,但是产生的随机数会重复。

实例2:

<?php
for($i=0;$i<5;$i++){echo rand(0,10)." ";}
?>

输出结果:0-10中的5个随机数

说明:

1、通过这种方法得到的随机数会重复。

2、有关rand()函数的用法见:php rand()函数笔记

2、获取0-10中的随机数不重复的方法步骤(其他范围类似):

1、创建一个不指定长度的空数组;

2、使用rand()函数产生随机数放入数组,同时使用array_unique()函数删除重复的元素;

3、输出数组中的元素值即是不重复的随机数。

实例3:

<?php
$arr=array();
while(count($arr)<10)
{
$arr[]=rand(0,10);
$arr=array_unique($arr);
}
foreach($arr as $v)
{echo $v." ";}
?>

输出结果:11个随机数

说明:

1、通过这种方法得到的随机数不重复;

2、有关rray_unique()函数的用法见:php array_unique()函数笔记

本文地址:https://www.ggbiji.com/php-random-number.html
版权声明:本文为 PHP笔记 原创/整理文章,欢迎分享,转载请注明出处!

发表评论


表情