欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php簡單中獎算法(實(shí)例)

 更新時(shí)間:2017年08月15日 08:38:42   投稿:jingxian  
下面小編就為大家?guī)硪黄猵hp簡單中獎算法(實(shí)例)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

今天遇到這樣的一個(gè)問題  封裝一個(gè) 抽獎概率函數(shù) 思前想后去網(wǎng)上找點(diǎn)資料吧,而且不止一種方法 這種我感覺還是比較容易的 還是那句話 實(shí)現(xiàn)功能的思路不止一種 代碼也不止一種。

function get_rand($proArr) {
   $result = '';
 
   //概率數(shù)組的總概率精度
   $proSum = array_sum($proArr);
 
   //概率數(shù)組循環(huán)
   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'=>0.1),
'1' => array('id'=>2,'prize'=>'數(shù)碼相機(jī)','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'=>'下次沒準(zhǔn)就能中哦','v'=>50),
);


foreach ($prize_arr as $key => $val) {
$arr[$val['id']] = $val['v'];
}
$rid = get_rand($arr); //根據(jù)概率獲取獎項(xiàng)id
$res['yes'] = $prize_arr[$rid-1]['prize']; //中獎項(xiàng)
unset($prize_arr[$rid-1]); //將中獎項(xiàng)從數(shù)組中剔除,剩下未中獎項(xiàng)
shuffle($prize_arr); //打亂數(shù)組順序
for($i=0;$i<count($prize_arr);$i++){
$pr[] = $prize_arr[$i]['prize'];
}
$res['no'] = $pr;
echo json_encode($res,JSON_UNESCAPED_UNICODE);

以上這篇php簡單中獎算法(實(shí)例)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論