我試圖在我的頁面上顯示隨機橫幅來做到這一點我有一個函數,它給了我一個隨機數,並根據數字顯示橫幅問題是有時我得到相同的數字所以當頁面刷新時顯示相同的橫幅。我想在每個頁面刷新顯示不同的橫幅。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