Partager des exemples sur la façon d'implémenter un algorithme de calcul de probabilité de loterie en PHP

黄舟
Libérer: 2023-03-14 19:48:02
original
1638 Les gens l'ont consulté

Cet article présente principalement la programmation PHP pour implémenter le calcul de l'algorithme de probabilité de loterie et analyse les compétences opérationnelles liées au fonctionnement des nombres aléatoires PHP sous la forme d'exemples complets. Les amis dans le besoin peuvent s'y référer

Le. les exemples de cet article décrivent la mise en œuvre de l'algorithme de programmation PHP pour calculer la probabilité de loterie. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :


<?php
  //计算抽奖的概率
  function get_rand($proArr) {
    $result = &#39;&#39;;
    $proSum = array_sum($proArr);
    foreach ($proArr as $key => $proCur) {
      $randNum = mt_rand(1, $proSum);
      if ($randNum <= $proCur) {
        $result = $key;
        break;
      } else {
        $proSum -= $proCur;
      }
    }
    unset ($proArr);
    return $result;
  }
  $prize_arr = array(
    &#39;0&#39; => array(&#39;id&#39;=>1,&#39;prize&#39;=>&#39;家电&#39;,&#39;v&#39;=>2),
    &#39;1&#39; => array(&#39;id&#39;=>2,&#39;prize&#39;=>&#39;数码相机&#39;,&#39;v&#39;=>5),
    &#39;2&#39; => array(&#39;id&#39;=>3,&#39;prize&#39;=>&#39;iPad&#39;,&#39;v&#39;=>13),
    &#39;3&#39; => array(&#39;id&#39;=>4,&#39;prize&#39;=>&#39;LED显示器&#39;,&#39;v&#39;=>15),
    &#39;4&#39; => array(&#39;id&#39;=>5,&#39;prize&#39;=>&#39;U盘&#39;,&#39;v&#39;=>25),
    &#39;5&#39; => array(&#39;id&#39;=>6,&#39;prize&#39;=>&#39;键盘&#39;,&#39;v&#39;=>30),
    &#39;6&#39; => array(&#39;id&#39;=>7,&#39;prize&#39;=>&#39;鼠标垫&#39;,&#39;v&#39;=>10),
  );
  foreach ($prize_arr as $key => $val) {
    $arr[$val[&#39;id&#39;]] = $val[&#39;v&#39;];
  }
  $rid = get_rand($arr);
  $res[&#39;yes&#39;] = $prize_arr[$rid-1][&#39;prize&#39;];
  unset($prize_arr[$rid-1]);
  shuffle($prize_arr);
  $prize_arrcount = count($prize_arr);
  for($i=0;$i<$prize_arrcount;$i++){
    $pr[] = $prize_arr[$i][&#39;prize&#39;];
  }
  $res[&#39;no&#39;] = $pr;
  //抽奖结果
  $ro = $res[&#39;yes&#39;];
  print_r($ro);
?>
Copier après la connexion

Résultats en cours d'exécution :


iPad
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal