2009-09-30 58 views
0

我需要能夠從我的數組中拉出一個隨機值,讓我們假設我有100個值的數組,我怎樣才能從這個數組中隨機抽取5個值?php rand()array

+0

可能要如果檢查了這一點做的質量僞隨機性很重要:http://cod.ifies.com/2008/05/php-rand01-on-windows-openssl-rand-on.html。 – ESRogs 2009-09-30 23:25:27

回答

0

其實我剛發現array_rand();也許呢?

5

試試這個:

$data = range(1, 100); 

$results = array_rand($data, 5); 
print_r($results); 
+0

請注意,在PHP 5.2.10及以上版本中,這不再適用。您需要添加隨機播放才能獲得隨機性。 – 2013-06-05 09:31:32

1

你是正確的。

<?php 
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); 
$rand_keys = array_rand($input, 2); 
echo $input[$rand_keys[0]] . "\n"; 
echo $input[$rand_keys[1]] . "\n"; 
?> 
3

與array_rand(),生產的陣列將總是被有序

$結果[0] < $結果[1] < $:根據http://us3.php.net/manual/en/function.array-rand.php

可以做

結果[2] < $ results [3] < $ results [4]

如果你想讓它成爲你nordered,array_rand()後,您可以使用隨機()函數

$data = range(1, 100); 
$results = array_rand($data, 5); 
shuffle($result); 
print_r($results); 
-1

可以在此與重複回聲或打印命令(echo $input[$rand_keys[0]] . "\n";

+1

這不會談論用戶自己的數組,而是一個隨機函數 – Lizz 2012-10-26 07:58:11