一定範圍內取幾個不重複的隨機數方法(php)
阿新 • • 發佈:2019-01-22
方法一:
<?php
//range 是將1到42 列成一個數組
$numbers = range (1,42);
//shuffle 將陣列順序隨即打亂
shuffle ($numbers);
//array_slice 取該陣列中的某一段
$result = array_slice($numbers,0,3);
print_r($result);
?>
方法二:
<?php
$numbers = range (1,20);
shuffle ($numbers);
//list() 函式用於在一次操作中給一組變數賦值。
//each() 函式返回當前元素的鍵名和鍵值,並將內部指標向前移動。
while (list (, $number) = each ($numbers)) {
echo "$number";
}
?>
方法三:
<?php
$tmp=array();
while(count($tmp)<5){
//mt_rand() 函式生成隨機整數。
$tmp[]=mt_rand(1,20);
//array_unique() 函式用於移除陣列中重複的值。如果兩個或更多個數組值相同,只保留第一個值,其他的值被移除
$tmp=array_unique($tmp);
}
//join() 函式返回一個由陣列元素組合成的字串。
//join() 函式是 implode() 函式的別名。
print join(',',$tmp);
?>