1. 程式人生 > >一定範圍內取幾個不重複的隨機數方法(php)

一定範圍內取幾個不重複的隨機數方法(php)

方法一:

<?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); ?>