PHP教程

php生成随机数,随机数组的方法

位置:首页 > PHP教程 > PHP技巧,2017-03-10
如何用php生成1-10之间的不重复随机数?例1,使用shuffle函数生成随机数。<?php$arr=range(1,10);shuffle($arr)
如何用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 "; 
}

TAGS:php生成随机数组

猜你喜欢

NewHot