如何使PHP功能显示基于百分比的频率?

时间:2012-04-06 10:23:02

标签: php random frequency

这里是样本案例..

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

如果更容易,我们将百分比设定为10%,20%,30%...... 100%

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

先谢谢。

3 个答案:

答案 0 :(得分: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;
    }
}

干杯

答案 1 :(得分:1)

您无需知道有多少访客。你唯一需要做的就是取1到100之间的随机数,如果它是70或更低,它就在70%的范围内。

最终会解决这个问题,并向70%的人展示横幅广告:

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

如果您想保留此号码,并将其显示给用户以查看所有页面浏览量,请将其存储在某种$ _SESSION var中,并根据该值显示横幅。

答案 2 :(得分:0)

我相信

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

解决方案

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

我希望这会有所帮助