php如何?計算抽獎機率的演算法執行個體分享

來源:互聯網
上載者:User
這篇文章主要介紹了PHP編程實現計算抽獎機率演算法,結合完整執行個體形式分析了php隨機數運算相關操作技巧,需要的朋友可以參考下

本文執行個體講述了PHP編程實現計算抽獎機率演算法。分享給大家供大家參考,具體如下:


<?php  //計算抽獎的機率  function get_rand($proArr) {    $result = '';    $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(    '0' => array('id'=>1,'prize'=>'家電','v'=>2),    '1' => array('id'=>2,'prize'=>'數位相機','v'=>5),    '2' => array('id'=>3,'prize'=>'iPad','v'=>13),    '3' => array('id'=>4,'prize'=>'LED顯示器','v'=>15),    '4' => array('id'=>5,'prize'=>'隨身碟','v'=>25),    '5' => array('id'=>6,'prize'=>'鍵盤','v'=>30),    '6' => array('id'=>7,'prize'=>'滑鼠墊','v'=>10),  );  foreach ($prize_arr as $key => $val) {    $arr[$val['id']] = $val['v'];  }  $rid = get_rand($arr);  $res['yes'] = $prize_arr[$rid-1]['prize'];  unset($prize_arr[$rid-1]);  shuffle($prize_arr);  $prize_arrcount = count($prize_arr);  for($i=0;$i<$prize_arrcount;$i++){    $pr[] = $prize_arr[$i]['prize'];  }  $res['no'] = $pr;  //抽獎結果  $ro = $res['yes'];  print_r($ro);?>

運行結果:


iPad

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.