Лучший белый каталог сайтов и статей
Каталог   Добавить ссылку   Добавить статью   Администрирование   Карта  
 

Мы будем Вам благодарны, если Вы поделитесь с друзьями ссылкой на Наш проект с помощью кнопок ниже:




Купить ссылку здесь за руб.
Поставить к себе на сайт


Генерация случайных чисел со смещением при помощи языка программирования-PHP

Решение

Используйте функцию pc_rand_weighted(), показанную в примере

Пример pc_rand_weighted()

// возвращает взвешенный случайно выбранный ключ
function pc_rand_weighted($numbers) {
      $total = 0;
      foreach ($numbers as $number => $weight) {
            $total += $weight;
            $distribution[$number] = $total;
}
      $rand = mt_rand(0, $total-1);
      foreach ($distribution as $number => $weights) {
            if ($rand < $weights) { return $number; }
}
}

Обсуждение

Представьте, что вместо массива, значения элементов которого отражают количество оставшихся копий объявлений, есть массив объявлений, в котором каждое объявление встречается ровно столько раз, сколько осталось его копий. Можно просто указать на не взвешенное случайное место внутри массива, и это будет реклама для показа. Вместо этого можно определить величину возможного массива (путем подсчета остающихся копий), выбрать случайное число из диапазона размера воображаемого массива, а затем пробежаться по массиву, определяя, какое объявление соответствует выбранному числу. Например:

$ads = array('ford' => 12234, // рекламодатель, остающиеся копии
     'att' => 33424,
     'ibm' => 16823);
$ad = pc_rand_weighted($ads);



Комментарии:

Комментариев нет

Добавить свой комментарий:

Имя:

E-Mail адрес:

Комментарий:

Ваша оценка:

Введите число, которое Вы видите на картинке:
Информация
Источник:
http://www.сайты-всем.рф/files/php/generaciya_sluchainyh_chisel_so_smeshheniem.php
Автор: Игорь
Категории:
Оценка модератора: Нет
Оценка пользователей: Нет
Переходов на сайт:0
Переходов с сайта:0
 
Яндекс.Метрика