這裏的示例案例..如何使PHP函數根據百分比顯示頻率?
我想根據訪問者點擊率隨機顯示橫幅。 例如,我想顯示廣告70%的訪問者點擊.. 問題是我們不知道有多少訪問者。
,如果它能夠更方便我們設置率在10%,20%,30%...... 100%
- ,也許還有可能,如果我們節約每100次點擊計數器和復位
先謝謝了。
這裏的示例案例..如何使PHP函數根據百分比顯示頻率?
我想根據訪問者點擊率隨機顯示橫幅。 例如,我想顯示廣告70%的訪問者點擊.. 問題是我們不知道有多少訪問者。
,如果它能夠更方便我們設置率在10%,20%,30%...... 100%
先謝謝了。
你不需要知道有多少訪問者。你唯一需要做的就是取1到100之間的隨機數,如果它是70或更低,它在70%的範圍內。
最終,這將奏效,並顯示旗幟的人70%:
if (rand(1,100) <= 70) {
display_banner();
}
如果你想保留這個號碼,並顯示給用戶的所有頁面瀏覽量,然後存儲它在某種類型的$ _SESSION變量中,並根據該值顯示標題。
我相信
$percentageVisitors = ceil(($currentVisitors/$totalVisitors) * 100) ;
解決方案
if($percentageVisitors >= 70)
{
showRandomAdvert();
}
我希望這有助於
比
幾乎完全是我的橫幅做的一樣好,隨機抽樣。
$freq_banners = array(
5 => 'banner_3',
10 => 'banner_1',
85 => 'banner_2',
);
$use_banner = null;
$sum = 0;
$key = rand(1,100);
foreach ($freq_banners as $banner_freq => $banner) {
$sum += $banner_freq;
if ($key <= $sum) {
$use_banner = $banner;
break;
}
}
乾杯
我想你想使用'<='在這裏,而不是''==?否則它只會是1%:) – Nanne 2012-04-06 10:26:55
它只會顯示到第70百分點...如果(蘭特(1,100)<= 70)是正確的測試 – 2012-04-06 10:27:35
哈哈笨,我的錯誤 – 2012-04-06 10:28:28