【发布时间】:2010-01-22 16:45:41
【问题描述】:
如何从大约 20 个数组中随机回显 5 个元素?
谢谢。
【问题讨论】:
-
可以多次回显同一个值吗?
如何从大约 20 个数组中随机回显 5 个元素?
谢谢。
【问题讨论】:
这行得通吗?
$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));
【讨论】:
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));
【讨论】:
$n = 数组中要返回的随机数个数
$min = 最小数量
$max = 最大数量
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]);
}
【讨论】: