使用PHP怎么編寫一個(gè)轉(zhuǎn)盤抽獎(jiǎng)算法?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的貴南網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!流程:
1.拼裝獎(jiǎng)項(xiàng)數(shù)組
2.計(jì)算概率
3.返回中獎(jiǎng)情況
代碼如下:
中獎(jiǎng)概率 ' v ' 可以在后臺(tái)設(shè)置,傳到此方法中,注意傳整數(shù)
function get_gift(){ //拼裝獎(jiǎng)項(xiàng)數(shù)組 // 獎(jiǎng)項(xiàng)id,獎(jiǎng)品,概率 $prize_arr = array( '0' => array('id'=>1,'prize'=>'平板電腦','v'=>0), '1' => array('id'=>2,'prize'=>'數(shù)碼相機(jī)','v'=>0), '2' => array('id'=>3,'prize'=>'音箱設(shè)備','v'=>0), '3' => array('id'=>4,'prize'=>'4G優(yōu)盤','v'=>5), '4' => array('id'=>5,'prize'=>'10Q幣','v'=>0), '5' => array('id'=>6,'prize'=>'空獎(jiǎng)','v'=>5), ); foreach ($prize_arr as $key => $val) { $arr[$val['id']] = $val['v'];//概率數(shù)組 } $rid = $this->get_rand($arr); //根據(jù)概率獲取獎(jiǎng)項(xiàng)id $res['yes'] = $prize_arr[$rid-1]['prize']; //中獎(jiǎng)項(xiàng) unset($prize_arr[$rid-1]); //將中獎(jiǎng)項(xiàng)從數(shù)組中剔除,剩下未中獎(jiǎng)項(xiàng) shuffle($prize_arr); //打亂數(shù)組順序 for($i=0;$i$proCur) { $randNum = mt_rand(1, $proSum); //返回隨機(jī)整數(shù) if ($randNum <= $proCur) { $result = $key; break; } else { $proSum -= $proCur; } } unset ($proArr); return $result; }
效果圖:
看完上述內(nèi)容,你們掌握使用PHP怎么編寫一個(gè)轉(zhuǎn)盤抽獎(jiǎng)算法的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!