php生成多个不重复的随机数
墨初 编程开发 831阅读
使用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.'  ';
}	