函數rand(n,m)//取從n-m之間的隨機整數
假設n=1,m=20
代碼如下:
<?
$arrResult=array();
$arrResult[]=rand(1,20);
$n=1;
while($n<=4){
$num=rand(1,20);
if(!in_array($num,$arrResult)){
$arrResult[]=$num;
$n++;
}else
continue;
}
print_r($arrResult);
?>
隨手寫出來的,可能有bug
試一試
假設n=1,m=20
代碼如下:
<?
$arrResult=array();
$arrResult[]=rand(1,20);
$n=1;
while($n<=4){
$num=rand(1,20);
if(!in_array($num,$arrResult)){
$arrResult[]=$num;
$n++;
}else
continue;
}
print_r($arrResult);
?>
隨手寫出來的,可能有bug
試一試
取了一个数后,把被取的那个数改成一个标志数,如0,-1什么的,只要是原来要被取的数中没有的就好了.
下次取的时候,记得判断一下是不是你设的标志,如果是,说明重复了,继续生成随机索引.否则就把这个数取出来,按上面的继续做.
fuction randompass($length=5)
{
$all=explode("1 2 3 4 5 6");
for ($i=0;$i<length;$i++)
{
mt_srand((double)microtime()*1000000);
$randy = mt_rand(0,6);
$pass.=$all[$randy];
}
return $pass;
}
?>