比如: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[]中就是满足你要的随机数。
怎样的产生各不相同的随机数呀?
---------------------------------------------------------------
<?
$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[]中就是满足你要的随机数。