2010-01-22 127 views

回答

0
for($i=0; $i++; $i < 5) 
{ 
    echo $array[rand(0, count($array)-1); 
} 

for($i=0; $i++; $i < 5) 
{ 
    echo array_rand($array); 
} 

array_map("echo", array_rand($array, 5)); 
+1

這裏有一個變化,你會選擇相同的元素不止一次,這可能不是OP想要什麼。 – 2010-01-22 16:50:59

+0

array_map的要點是通過將函數應用於現有數組的每個項目來創建新數組。如果你想要做的只是應用該函數,請使用array_walk。 – bish 2010-01-22 17:15:30

1

工作的呢?

$values = array_rand($input, 5); 

或者,作爲一個更靈活的功能

function randomValues($input, $num = 5) { 
    return array_rand($input, $num); 
} 

//usage 
$array = range('a', 'z'); 

//prints 5 random characters from the alphabet 
print_R(randomValues($array)); 
0

$ N =隨機數的數到陣列

$最小=最小數目

$最大=最大在返回號碼

function uniqueRand($n, $min = 0, $max = null) 
{ 
    if($max === null) 
    $max = getrandmax(); 
    $array = range($min, $max); 
    $return = array(); 
    $keys = array_rand($array, $n); 
    foreach($keys as $key) 
     $return[] = $array[$key]; 
    return $return; 
} 

$randNums = uniqueRand(5, 0, count($array)-1); 
for($i=0; $i++; $i < 5) 
{ 
    echo $array[$randNums[i]); 
}