使用过程代码生成不同的随机数

时间:2015-06-12 18:49:53

标签: php

我一直在尝试使用程序代码生成不同的随机数。但我没有做到。请帮助我这方面。提前致谢。

<?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";
}
?>

3 个答案:

答案 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