我一直在尝试使用程序代码生成不同的随机数。但我没有做到。请帮助我这方面。提前致谢。
<?php
$rnd_array = array(0,0,0,0,0,0,0,0,0,0);
$a = 1;
for ($i=0; $a <= 10 ; $i++)
{
echo $rnd = rand() % 10;
echo "\t \t";
for ($j=0; $j < 10 ; $j++)
{
if ($rnd == $rnd_array[$j])
{
$flag = true;
break;
}
else
{
$flag = false;
}
}
if ($flag == false)
{
$rnd_array[$a] = $rnd;
$a++;
}
}
echo "<br> <br>";
for ($k=0; $k < 10 ; $k++)
{
echo $rnd_array[$k];
echo "\t \t";
}
?>
答案 0 :(得分:1)
我会使用一个稍微不同的逻辑 - 从一个空数组开始,生成一个随机数,如果该数组尚未包含它,则将其放入数组中。重复,直到您的数组包含任意数量的元素。
这是一个简单的例子:
$num = 10;
$min = 1;
$max = 100;
$array = [];
while (count($array) < $num) {
$random = mt_rand($min, $max);
if (!in_array($random, $array)) {
$array[] = $random;
}
}
答案 1 :(得分:0)
因为数组长度等于生成的随机值的范围
$rnd_array = range(0,9);
shuffle($rnd_array);
print_r($rnd_array);
Array
(
[0] => 9
[1] => 0
[2] => 5
[3] => 3
[4] => 6
[5] => 4
[6] => 2
[7] => 7
[8] => 1
[9] => 8
)
答案 2 :(得分:0)
10区分随机数
Bar1