$numlenght=23; //数据库记录总数,这不要我交你吧
$n=20; //你要得到记录的总数
function randnum($numlenght){
mt_srand((double)microtime()*1000000);
$num = mt_rand(1,$numlenght);
return $num;
} $i = 1;
while ($i<=20){
$randtest=randnum($numlenght);
$char = $randtest;
echo $char."<br>";
$i++;
}
$n=20; //你要得到记录的总数
function randnum($numlenght){
mt_srand((double)microtime()*1000000);
$num = mt_rand(1,$numlenght);
return $num;
} $i = 1;
while ($i<=20){
$randtest=randnum($numlenght);
$char = $randtest;
echo $char."<br>";
$i++;
}
解决方案 »
- 网站首页打开很慢,请教是何原因
- php判断字符串内是否含有特殊字符,但是字符串含有中文就没效果了,请教?
- 一个很好的相册切换效果(自我感觉好,希望大家别见笑)
- phpinfo()里的path问题
- 新浪微博第三方登陆
- 对多级类别的搜索问题,比如:一个产品属于t1->t11->t112,在数据库中存所属类为t112,现在要搜索t1下的所有产品,怎样才能既灵活,又有
- 100分相送,在线等
- PHP怎么读取远程文件(http://www/index.php),用readfile会直接输出,不能赋值给变量;用fopen(file, "r");fread($fd, filesize(file)),
- 一个怪问题
- 小白求助
- 为什么我的文本框里的内容传不到PHP中执行
- 新手提问,请高手帮助新手上路,谢谢。
根据上面的函数产生的随机数,虽然是在1和$numlenght之间产生的,但是有重复的啊,我这里不能产生重复的:(
请大虾继续指教
$IDArr=array();
//这里省去了向$IDArr中添加元素的代码
$n=20;
$i = 1;
$nowIDArr=array(); //存放已经取出的ID
while ($i<=20){
$randtest=randnum($numlenght);
if(!in_array($IDArr[$randtest],$nowIDArr)){
array_push($nowIDArr,$IDArr[$randtest]);
$i++;
}
}
function randnum($numlenght){
mt_srand((double)microtime()*1000000);
$num = mt_rand(1,$numlenght);
return $num;
}
$randtest=randnum($num);
$char[$i]=$randtest;
while ($i<10)
{
$j = 1;
$ttag=0;
while($ttag==0)
{
$randtest=randnum($num);
while($j<=$i)
{
if(strcmp($char[$j],$randtest)!=0)
{
$j++;
}
if(strcmp($char[$j],$randtest)==0)
{
break;
}
}
if($j>$i)
{
$ttag=1;
}
}
if($ttag=1)
{
$i++;
$char[$i]= $randtest;
echo $char[$i];
echo "<br>";
}
}大家帮看看,好象有BUG,有时候会产生2个重复的数字,而且循环太多,应该如何改善程序呢