2016-02-16 41 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);