2014-07-09 123 views
0

所以我有這個問題,我從1 - 10生成隨機數然後顯示數字,然後確定什麼是重複。 BTW intNcases是數字的數量,不應超過20.這實際上是我們的任務,我真的很難與它請幫助。這是我的代碼到目前爲止。如何識別重複的號碼

樣本輸出

箱子隨機數是:7

隨機數:4,2,1,1,4,3,2

:4,2,1,3

重複num別爾斯是: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> 
+0

使用舒適函數in_array:http://php.net/manual/en/function.in-array.php ..實際上在將元素推入數組之前。 – briosheje

+0

我的歉意 - 我沒有很好地閱讀這個問題。所以我的答案是使用和你一樣的技巧。 –

+0

非常感謝你的回答幫助我很多 – user3819815

回答

0

也許你能做到這一點更容易與array_unique或array_shuffle或其他陣列功能

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>'; 
+0

讓我編輯它,以便它符合你的示例輸出。 – Rimble