2009-09-30 71 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