2012-04-06 79 views
0

这里的示例案例..如何使PHP函数根据百分比显示频率?

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

,如果它能够更方便我们设置率在10%,20%,30%...... 100%

  • ,也许还有可能​​,如果我们节约每100次点击计数器和复位

先谢谢了。

回答

1

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

最终,这将奏效,并显示旗帜的人70%:

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

如果你想保留这个号码,并显示给用户的所有页面浏览量,然后存储它在某种类型的$ _SESSION变量中,并根据该值显示标题。

+0

我想你想使用'<='在这里,而不是''==?否则它只会是1%:) – Nanne 2012-04-06 10:26:55

+0

它只会显示到第70百分点...如果(兰特(1,100)<= 70)是正确的测试 – 2012-04-06 10:27:35

+0

哈哈笨,我的错误 – 2012-04-06 10:28:28

0

我相信

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

解决方案

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

我希望这有助于

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

干杯