CSDN博客

img WapWeb

PHP 小技巧之(2)怎样的产生各不相同的随机数

发表于2004/6/25 17:17:00  1204人阅读

分类: PHP程序设计技术点滴!

比如:rand(1,200);  
怎样的产生各不相同的随机数呀?  
---------------------------------------------------------------  
 
<?  
$arr=array();  
while(count($arr)<10){  
           $a=rand(1,200);  
           if(!in_array($a,$arr)){  
                       $arr[]=$a;  
           }  
}  
echo  '<pre>';  
print_r($arr);  
?>  
---------------------------------------------------------------  
 
既然叫随机数,当然随机的,当然也可以相同。何谓各不相同?  
 
如果用程序控制,则不叫随机数了,1~200以后,还是要重复的。如果你是产生1~200指定个数的,可以这样写。  
 
function  checkrand($k,$randnum,$i)    //自定义函数,判断随机数是否重复  
{  
 
     for($j=0;$j<=$i;$j++)  
     {  
           if  ($randum[$i]  ==  $k)  
           {  
                       return(False);  
             }  
       }  
     return(True);  
}  
 
 
 
for  ($i=0;$i<20;$i++)    //产生20个例  
{  
       $randnum[$i]  =  0;  //初始化  
}  
 
$i  =  0;  
while  (True)  
{  
           $k  =  rand(1,200);  
 
           if    checkrand($k,$randnum,$i)                      //值不重复  
           {  
                   $i++;  
                   $randnum[$i]  =  $k;  
                   if  ($i  =  20)  
                   {  
                       exit();    //取得想要的随机个数,退出循环  
                   }  
 
             }  
 
 
}  
 
 
$randnum[]中就是满足你要的随机数。
0 0

相关博文

我的热门文章

img
取 消
img