php生成多个不重复的随机数
墨初 编程开发 596阅读
使用php脚本可以很轻松的获取一个指定范围内的随机数,但是想要获取指定范围内多个不重复的随机数该如何做呢?下面就介绍了几种方法,非常的简单。
php 取多个不重复的随机数
方法1:
php利用数组的方法取多个不重复的随机数
// 生成一个数组 $numbers = range (50,100); //shuffle 将数组顺序随即打乱 shuffle ($numbers); $num = 6; //指定获取随机数的数量 $result = array_slice($numbers,0,$num); foreach ($result as $a) { echo $a.' '; } // 66 75 85 92 56 52
方法2:
同样使用数组的方法取随机输,但与上面打乱数组方法不同的是,这里是利用 array_rand 函数随机获取数组的下标来换取随机数!
# 73so.com $tmp = range(50,100); $arr = array_rand($tmp,10); foreach ($arr as $a) { echo $tmp[$a].' '; }
方法3:
下面的方法比较简单,适合取值范围比较大的场景。
$tmp = array(); while(count($tmp)<5){ $tmp[] = mt_rand(1,20); //规定随机数的取值范围 $tmp = array_unique($tmp); } foreach ($tmp as $a) { echo $a.' '; }