2016-02-16 74 views
-2

我已經創建了這個代碼,用PHP輸出5到100個隨機數。所有的數字必須互不相同。 在執行我採取這一錯誤使用php輸出20個不同的隨機數使用php

enter image description here

這是我的代碼:

<?php 

$a=array(); 
while(count($a)<20){ 
$found=false; 
$random=rand(6,100); 
for($i=0;$i<=count($a);$i++){ 
    if($a[$i]==$random){ 
     $found==true; 
     break; 
    } 
} 
if(!$found) 
    $a[count($a)]=$random; 


} 
echo $a; 

?> 

有人可以幫我解決這個問題?謝謝!

+0

有更容易的方式來FO這一點。想起Range()和shuffle –

+0

你必須重新考慮這段代碼,否則沿途會出現很多通知。你也不能回顯數組'echo $ a'。 – isnisn

回答

1

試試這個簡單的代碼

<?php 
$a=array(); 
while(count($a)<20){ 
    $random=rand(6,100); 
    if(!in_array($random, $a)){ 
     $a[] = $random; 
    } 

} 
print_r($a); 
?> 
0

下面是簡單的解決方案:

$a = array(); 
$j = 0; 
while ($j < 20) { 
    $random = rand(6, 100); 
    if (!in_array($random, $a)) { 
     $a[] = $random; 
     $j++; 
    } 
} 
echo '<pre>'; 
print_r($a);