0

这里是示例案例..

我想根据访问者点击率按百分比随机显示横幅。例如,我想在 70% 的访问者点击率中显示广告。问题是我们不知道有多少访问者。

如果它更容易我们设置百分比 10%, 20%, 30% ... 100%

  • 如果我们每 100 次点击保存计数器并重置,也许也有可能

提前致谢。

4

3 回答 3

2

几乎和我对横幅所做的一样,随机抽样。

$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;
    }
}

干杯

于 2012-04-06T10:37:05.083 回答
1

你不需要知道有多少访客。只需在 1 到 100 之间取一个随机数,如果是 70 或更低,则在这 70% 范围内。

最终这会成功,并向 70% 的人展示横幅:

if (rand(1,100) <= 70) {
    display_banner();
}

如果你想保留这个数字,并在所有页面视图中显示给用户,然后将它存储在某种类型的 $_SESSION 变量中,并基于该值显示横幅。

于 2012-04-06T10:26:06.457 回答
0

我相信

$percentageVisitors  =  ceil(($currentVisitors / $totalVisitors) * 100) ;

解决方案

if( $percentageVisitors >= 70)
 {
    showRandomAdvert();
 }

我希望这有帮助

于 2012-04-06T10:29:08.897 回答