PHP大轉(zhuǎn)盤中獎概率算法實例
本文實例講述了PHP大轉(zhuǎn)盤中獎概率算法的實現(xiàn)方法,分享給大家供大家參考。具體如下:
大轉(zhuǎn)盤是最近很多線上網(wǎng)動中一個比較有意思的東西了,下面我們就來看看這個大轉(zhuǎn)盤中獎概率算法與例子,希望對各位有所幫助。
這是一個APP客戶端有大轉(zhuǎn)盤抽獎算法,具體如何抽獎當然在我們服務(wù)端實現(xiàn)了。下面和大家簡單分享一下實現(xiàn)代碼:
$prize_arr = array(
'0' => array('id'=>1,'prize'=>'平板電腦','v'=>1),
'1' => array('id'=>2,'prize'=>'數(shù)碼相機','v'=>5),
'2' => array('id'=>3,'prize'=>'音箱設(shè)備','v'=>10),
'3' => array('id'=>4,'prize'=>'4G優(yōu)盤','v'=>12),
'4' => array('id'=>5,'prize'=>'10Q幣','v'=>22),
'5' => array('id'=>6,'prize'=>'下次沒準就能中哦','v'=>50),
);
$actor = 100;
foreach ($prize_arr as $v) {
$arr[$v['id']] = $v['v'];
}
foreach ($arr as &$v) {
$v = $v*$actor;
}
asort($arr);
$sum = array_sum($arr); //總概率
$rand = mt_rand(1,$sum);
$result = ''; //中獎產(chǎn)品id
foreach ($arr as $k => $x)
{
if($rand <= $x)
{
$result = $k;
break;
}
else
{
$rand -= $x;
}
}
$res['yes'] = $prize_arr[$result-1]['prize']; //中獎項
print_r($res);
希望本文所述對大家的PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP基于MySQLI函數(shù)封裝的數(shù)據(jù)庫連接工具類【定義與用法】
這篇文章主要介紹了PHP基于MySQLI函數(shù)封裝的數(shù)據(jù)庫連接工具類,結(jié)合實例形式分析了php封裝mysqli函數(shù)實現(xiàn)的數(shù)據(jù)庫操作類定義及連接、增刪改查數(shù)據(jù)庫等基本操作用法,需要的朋友可以參考下2017-08-08
PHP中魔術(shù)變量__METHOD__與__FUNCTION__的區(qū)別
這篇文章主要介紹了PHP中魔術(shù)變量__METHOD__與__FUNCTION__的區(qū)別,是深入學習PHP程序設(shè)計所必須掌握的概念,非常具有實用價值,需要的朋友可以參考下2014-09-09
PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法詳解
最近在開發(fā)微信公眾號功能的時候發(fā)現(xiàn)在PHP 7.1中Mcrypt已經(jīng)被棄用了,無奈只能找對應(yīng)的解決方法來替代,所以這篇文章主要給大家介紹了關(guān)于在PHP 7.1中利用OpenSSL代替Mcrypt加解密的相關(guān)資料,需要的朋友可以參考下。2017-11-11
PHP動態(tài)分頁函數(shù),PHP開發(fā)分頁必備啦
PHP動態(tài)分頁函數(shù),PHP開發(fā)分頁必備啦。其實吧,這個是必用的,不說了,PHP動態(tài)分頁函數(shù)還是不錯,比較簡單吧2011-11-11

