我试图在我的页面上显示随机横幅来做到这一点我有一个函数,它给了我一个随机数,并根据数字显示横幅问题是有时我得到相同的数字所以当页面刷新时显示相同的横幅。我想在每个页面刷新显示不同的横幅。PHP中的唯一随机数
进出口使用下面的代码来获取随机数:
function &UniqueRands($min, $max, $keys){
static $returnme = array();
while(in_array($x = rand($min,$max),$returnme));
$returnme[] = $x;
if($keys < count($returnme)-1 && $keys < ($max-$min))
UniqueRands($min, $max, $keys);
return $returnme;
}
$rands = &UniqueRands(1, 3, 1);
foreach ($rands as $num) {
echo "$num\n";
}
后,我得到的随机数,我只是做
if ($num=1){
//display banner 1
}
...
我在做什么错了,我很乐意听到任何其他想法。谢谢。
我想你的意思是'if($ num === 1)' – Paulpro 2012-01-04 22:13:38
假设你有'N'个横幅。在第N + 1次刷新时会发生什么? – CanSpice 2012-01-04 22:13:46
这听起来像是一个统计错误 - 抛硬币三次,尽管它有50/50的概率(.5 * .5 *),但仍有13%的机会会连续得到三个正面或反面的尾部。 5 = .125)。尝试增加'$ min'和'$ max'的范围。 – buley 2012-01-04 22:16:39