PHP實現計算抽獎機率演算法

來源:互聯網
上載者:User
這篇文章主要介紹了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.