PHPの数とパーセンテージに基づいて候補者を選択します

zamtime

広告のリストがあります。ローテーション(パーセンテージを表す)と表示された回数に基づいてローテーションしたいと思います。広告はいくつあってもかまいませんが、それらは多次元配列内にリストされています。各行は1つの広告です。表示されるたびに、表示される値は+1増加します。

$aAd[] = array('viewed' => 2003, 'rotation' => 70); // 70%
$aAd[] = array('viewed' => 122, 'rotation' => 30); // 30%

ローテーションと表示回数に基づいて、次に表示する広告を選択する方法を模索しています。誰かがこれを行うための公式を手伝うことができますか?

アルゴリズムは、表示する次のアルゴリズムを選択する必要があります。アルゴリズムは、表示された回数と表示されるパーセンテージ(回転)に基づいて選択する必要があります。現在、広告の順序は特定の順序ではありません。ローテーションは、クライアントが広告を表示したい希望のパーセンテージを表します。この例では、ローテーションが70/30に等しい限り、広告が2回続けて選択されても問題ありません。広告はいくつあってもかまいませんし、異なるローテーションを割り当てることもできます。

トリンコット

この関数を使用できます:

function getNextAdIndex($aAd) {
    $scores = array_map(function ($ad) { return $ad["viewed"] / $ad["rotation"]; }, $aAd);
    return array_search(min($scores), $scores);
}

それは、$aAd(回転パーセンテージに基づいて)理想的に持つべきものと比較してビューが最も少ないインデックスを返します

使用例

$aAd[] = array('viewed' => 0, 'rotation' => 70); // 70%
$aAd[] = array('viewed' => 0, 'rotation' => 30); // 30%

// Provide the next 100 views:    
for ($i = 0; $i < 100; $i++) {
    $j = getNextAdIndex($aAd);
    echo "showing add $j\n"; // Do whatever is needed to "display" an ad here
    $aAd[$j]["viewed"]++; // Increase its number of views
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

辞書からのパーセンテージに基づいてオプションを選択します

分類Dev

PowerBI-上位Nの選択に基づいてパーセンテージ測定値を計算します

分類Dev

パーセンテージ値に基づいて2つの色の間を補間します

分類Dev

正規表現に基づいて選択した列をパーセンテージに変更します

分類Dev

パーセンテージに基づいてアイテムを選択します

分類Dev

jQueryは、選択した値に基づいてパーセンテージ配列を検索します

分類Dev

パーセンテージに基づいてarraylistから値を選択します

分類Dev

SQL場所に基づいて合計からパーセンテージを選択します

分類Dev

パーセンテージに基づいて、ある速度から別の速度に線形補間します

分類Dev

パーセンテージに基づいて繰り返し数の配列を作成します

分類Dev

Oracleのパーセンテージ計算に基づいて複数の列を更新します

分類Dev

異なるデータフレームからの複数のパーセンテージに基づいてdfから値を選択する

分類Dev

jQueryの関数パラメーターに基づいて、選択した属性と値のテキストを表示する関数を作成します

分類Dev

メンバーの存在に基づいてテンプレート関数を選択します

分類Dev

Rの文字列パターンに基づいて行を選択します

分類Dev

Vuejsはラジオボタンの選択に基づいてルーターパスを変更します

分類Dev

パンダ-サブセットのデータ型に基づいて列を選択します

分類Dev

値のプロパティキーに基づいてオプションを選択します

分類Dev

C ++ 11のテンプレート引数に基づいて配列サイズを選択しますか?

分類Dev

C ++ 11のテンプレート引数に基づいて配列サイズを選択しますか?

分類Dev

Excelはパーセンテージに基づいて基準の合計を取得します

分類Dev

Sparkによって読み取られるファイルのサイズに基づいてパーティションの数を選択します

分類Dev

パンダのgroupbyに基づいてパーセンテージを取得しますか?

分類Dev

2番目の列に基づいてパーセンテージシーケンスを作成します

分類Dev

部分的な名前の一致に基づいてウィキデータID候補を取得します

分類Dev

複数の基準に基づいて、グループごとに1行を選択します

分類Dev

SQL Server2012優先度とパーセンテージに基づいて金額を配布します

分類Dev

パンダの行インデックスとセル値に基づいてデータを選択する

分類Dev

Angularjsの入力フィールドに基づいてパーセンテージを計算します

Related 関連記事

  1. 1

    辞書からのパーセンテージに基づいてオプションを選択します

  2. 2

    PowerBI-上位Nの選択に基づいてパーセンテージ測定値を計算します

  3. 3

    パーセンテージ値に基づいて2つの色の間を補間します

  4. 4

    正規表現に基づいて選択した列をパーセンテージに変更します

  5. 5

    パーセンテージに基づいてアイテムを選択します

  6. 6

    jQueryは、選択した値に基づいてパーセンテージ配列を検索します

  7. 7

    パーセンテージに基づいてarraylistから値を選択します

  8. 8

    SQL場所に基づいて合計からパーセンテージを選択します

  9. 9

    パーセンテージに基づいて、ある速度から別の速度に線形補間します

  10. 10

    パーセンテージに基づいて繰り返し数の配列を作成します

  11. 11

    Oracleのパーセンテージ計算に基づいて複数の列を更新します

  12. 12

    異なるデータフレームからの複数のパーセンテージに基づいてdfから値を選択する

  13. 13

    jQueryの関数パラメーターに基づいて、選択した属性と値のテキストを表示する関数を作成します

  14. 14

    メンバーの存在に基づいてテンプレート関数を選択します

  15. 15

    Rの文字列パターンに基づいて行を選択します

  16. 16

    Vuejsはラジオボタンの選択に基づいてルーターパスを変更します

  17. 17

    パンダ-サブセットのデータ型に基づいて列を選択します

  18. 18

    値のプロパティキーに基づいてオプションを選択します

  19. 19

    C ++ 11のテンプレート引数に基づいて配列サイズを選択しますか?

  20. 20

    C ++ 11のテンプレート引数に基づいて配列サイズを選択しますか?

  21. 21

    Excelはパーセンテージに基づいて基準の合計を取得します

  22. 22

    Sparkによって読み取られるファイルのサイズに基づいてパーティションの数を選択します

  23. 23

    パンダのgroupbyに基づいてパーセンテージを取得しますか?

  24. 24

    2番目の列に基づいてパーセンテージシーケンスを作成します

  25. 25

    部分的な名前の一致に基づいてウィキデータID候補を取得します

  26. 26

    複数の基準に基づいて、グループごとに1行を選択します

  27. 27

    SQL Server2012優先度とパーセンテージに基づいて金額を配布します

  28. 28

    パンダの行インデックスとセル値に基づいてデータを選択する

  29. 29

    Angularjsの入力フィールドに基づいてパーセンテージを計算します

ホットタグ

アーカイブ