咨询热线:4006-75-4006
售前:9:00-23:30 备案:9:00-18:00 技术:7*24h
如何用php生成1-10之间的不重复随机数?
例1,使用shuffle函数生成随机数。
<?php
$arr=range(1,10);
shuffle($arr);
foreach($arr as $values){
echo $values." ";
}
?>
例2,使用array_unique函数生成随机数。
<?php
$arr=array();
while(count($arr)<10){
$arr[]=rand(1,10);
$arr=array_unique($arr);
}
echo implode(" ",$arr);
?>
例3,使用array_flip函数生成随机数,可以去掉重复值。
$arr=array();
$count1=0;
$count = 0;
$return = array();
while ($count < 10) {
$return[] = mt_rand(1, 10);
$return = array_flip(array_flip($return));
$count = count($return);
}
foreach($return as $value) {
echo $value." ";
}
echo "<br/>";
$arr=array_values($return);// 获得数组的值
foreach($arr as $key)
echo $key." ";
例4,
//range 是将1到100 列成一个数组
$numbers = range (1,100);
//shuffle 将数组顺序随即打乱
shuffle ($numbers);
//array_slice 取该数组中的某一段
$no=6;
$result = array_slice($numbers,0,$no);
for ($i=0;$i<$no;$i++){
echo $result[$i]."<br>";
}
print_r($result);
例5,
$numbers = range (1,20);
srand ((float)microtime()*1000000);
shuffle ($numbers);
while (list (, $number) = each ($numbers)) {
echo "$number ";
}