如何识别重复的数字

时间:2014-07-09 10:00:46

标签: php

所以我有这个问题,我从1 - 10生成随机数,然后显示数字,然后识别重复的内容。 BTW intNcases是数字的数量,不应超过20.这实际上是我们的任务,我真的很难用它请帮忙。到目前为止,这是我的代码。

示例输出

案例的随机数:7

随机数:4,2,1,1,4,3,2

数字:4,2,1,3

重复数字:4,2,1

    <html>
     <body>
     <?php
        $intNcases = 5;
        $hold = array(0,0,0);
        $temp = array(0,0,0);
        $rep = array(0,0,0);
        $num = array(0,0,0);
        $count = 1;
        if($intNcases>20)
        {
            echo 'Error N cases is greater than 20';
        }
        else
        {
            echo 'The number of case/s is: '. $intNcases;
            echo '<br><br>'. 'Input'.'<br>';
            for($x=0;$x<$intNcases;$x++)
            {
                $N = rand(1,10);
                echo $N. '<br>';

                $hold[$x] = $N;
                $temp[$x] = $N;
            }

            echo 'OUTPUT<br>';

            for($d=0;$d<$intNcases;$d++)
            {
                for($j=1;$j<$intNcases;$j++)
                {
                    if($hold[$d] == $temp[$j])
                    {
                        $rep[$j-1] = $hold[$j-1];
                        $hold[$j-1] = 0;
                    }
                    else
                    {
                        $num[$j-1] = $hold[$j-1];
                    }
                }
                echo '#'.$count.' - '.$num[$d]. '<br>';
                $count++;
            }
            echo 'Repeating numbers are: ';
            for($k=0;$k<sizeof($rep);$k++)
            {
                echo $rep[$k]. ' ';
            }
        }

      ?>
      </body>
   </html>

2 个答案:

答案 0 :(得分:0)

使用array_unique或array_shuffle或其他数组函数

可能会更容易

答案 1 :(得分:0)

你可以试试这个。

$intcases = rand(1,20);
$numbers = array();

echo 'Random number of cases: '. $intcases . '</br>';
echo 'Random numbers are: ';
for($x=0;$x<$intcases;$x++)
{
    $number = rand(1,10);
    echo $number. ' ';
    if(array_key_exists($number, $numbers))
    {
        $numbers[$number] = $numbers[$number] + 1;
    }else
    {
        $numbers[$number] = 1;
    }
}
echo '</br>';



echo 'Numbers are: ';
foreach($numbers as $number => $x)
{   
    echo $number . ' ';
}
echo '</br>';

echo 'Repeating numbers: ';
foreach($numbers as $key => $value)
{   
    if($value > 1)
    {
        echo $key . ' ';
    }
}
echo '</br>';