2012-04-06 6 views
0

здесь образец случай ..Как сделать функцию PHP, чтобы показать частоту, основанную на precentage?

Я хочу показывать баннер случайным образом в процентах на основе хитов посетителя. например, я хочу показывать рекламу 70% посетителей хитов .. проблема в том, что мы не знаем, сколько посетителей.

если это сделать проще, мы установили в процентах 10%, 20%, 30% ... 100%

  • и, возможно, также возможно, если мы экономим счетчик на 100 хитов и сброс

Заранее спасибо.

ответ

1

Вам не нужно знать, сколько посетителей. Единственное, что вам нужно сделать, это принять случайное число от 1 до 100, а если оно 70 или ниже, оно находится в пределах этого 70% диапазона.

В конце концов, это будет работать, и отображение баннера до 70% людей:

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

Если вы хотите сохранить этот номер, и показать его пользователю для всех просмотров страниц, а затем сохранить его в $ _SESSION var какого-то типа, и на основе этого значения отображается баннер.

+0

Я думаю, что вы хотите использовать '<=' здесь вместо '' ==? В противном случае это будет всего лишь 1% :) – Nanne

+0

Он покажет только 70-й процентиль ... если (rand (1,100) <= 70) является правильным тестом –

+0

haha ​​глупо, моя ошибка –

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

Приветствия

 Смежные вопросы

  • Нет связанных вопросов^_^