亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP概率計算函數匯總

2020-03-22 18:20:18
字體:
來源:轉載
供稿:網友
其實發這篇博感覺并沒有什么用,太簡單了,會的人不屑看,不會的人自已動動腦子也想到了。但是看著自已的博客已經這么久沒更,真心疼~。粗略算下一篇只有代碼的水文,會占用OSC至少十幾KB的數據庫空間呢,但是,一想到亂彈里的然并卵,也就釋然了。 * 概率計算類 * 可用于抽獎等html' target='_blank'>class Probability * 概率統計數據 * thing = chance var $data = array(); var $chance_count = 0; function __construct($initdata = array()){ if(!empty($initdata)){ $this- data = $initdata; foreach($initdata as $d){ $this- chance_count += $d['num']; function addData($name, $chance){ $this- data[]=array('name'= $name, 'num'= $chance); $this- chance_count += $chance; function getOne(){ $index = rand(0, $this- chance_count); foreach($this- data as $d){ $index = $index-$d['num']; if($index =0){ return $d['name']; return '';
第一次數組循環,$procur=20假設抽取的隨機數rand(1,100),假設抽到$randNum=55if判斷-------如果$randNum =20,則result=a否則進入下一循環,總概率精度變為100-20=80第二次數組循環,$procur=30假設抽取的隨機數rand(1,80),假設抽到$randNum=33if判斷---------如果$randNum =30,則result=b否則進入下一循環,總概率精度變為80-30=50第三次數組循環,$prosur=50;假設抽取的隨機數rand(1,50),不管怎么抽,隨機數都會 或=50,那么得出result=c;因為樣本沒有改變,雖然可能抽取的隨機數不止一個,但是概率是不變的。或者也可以這樣: function get_rand($arr) $pro_sum=array_sum($arr); $rand_num=mt_rand(1,$pro_sum); $tmp_num=0; foreach($arr as $k= $val) if($rand_num =$val+$tmp_num) $n=$k; break; }else $tmp_num+=$val; return $n;在給大家分享一個抽獎的概率算法 * 經典的概率算法, * $proArr是一個預先設置的數組, * 假設數組為:array(100,200,300,400), * 開始是從1,1000 這個概率范圍內篩選第一個數是否在他的出現概率范圍之內, * 如果不在,則將概率空間,也就是k的值減去剛剛的那個數字的概率空間, * 在本例當中就是減去100,也就是說第二個數是在1,900這個范圍內篩選的。 * 這樣 篩選到最終,總會有一個數滿足要求。 * 就相當于去一個箱子里摸東西, * 第一個不是,第二個不是,第三個還不是,那最后一個一定是。 * 這個算法簡單,而且效率非常 高, * 關鍵是這個算法已在我們以前的項目中有應用,尤其是大數據量的項目中效率非常棒。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;
* 是一個二維數組,記錄了所有本次抽獎的獎項信息, * 其中id表示中獎等級,prize表示獎品,v表示中獎概率。 * 注意其中的v必須為整數,你可以將對應的 獎項的v設置成0,即意味著該獎項抽中的幾率是0, * 數組中v的總和(基數),基數越大越能體現概率的準確性。 * 本例中v的總和為100,那么平板電腦對應的 中獎概率就是1%, * 如果v的總和是10000,那中獎概率就是萬分之一了。$prize_arr = array( '0' = array('id'= 1,'prize'= '平板電腦','v'= 1), '1' = array('id'= 2,'prize'= '數碼相機','v'= 5), '2' = array('id'= 3,'prize'= '音箱設備','v'= 10), '3' = array('id'= 4,'prize'= '4G優盤','v'= 12), '4' = array('id'= 5,'prize'= '10Q幣','v'= 22), '5' = array('id'= 6,'prize'= '下次沒準就能中哦','v'= 50), * 每次前端頁面的請求,PHP循環獎項設置數組, * 通過概率計算函數get_rand獲取抽中的獎項id。 * 將中獎獎品保存在數組$res['yes']中, * 而剩下的未中獎的信息保存在$res['no']中, * 最后輸出json個數數據給前端頁面。foreach ($prize_arr as $key = $val) { $arr[$val['id']] = $val['v'];$rid = get_rand($arr); //根據概率獲取獎項id $res['yes'] = $prize_arr[$rid-1]['prize']; //中獎項 unset($prize_arr[$rid-1]); //將中獎項從數組中剔除,剩下未中獎項 shuffle($prize_arr); //打亂數組順序 for($i=0;$i count($prize_arr);$i++){ $pr[] = $prize_arr[$i]['prize'];$res['no'] = $pr;print_r($res['yes']);PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品久久久久久久久不口人| 国产精品jizz在线观看麻豆| 欧美理论电影在线观看| 中文字幕日韩欧美精品在线观看| 中文字幕少妇一区二区三区| 亚洲欧洲自拍偷拍| 久久亚洲精品中文字幕冲田杏梨| 91国产在线精品| 国产69久久精品成人看| 中文字幕精品在线| 日韩中文字幕免费视频| 久久国内精品一国内精品| 欧美一级在线播放| 欧美精品videossex88| 日韩电影免费观看中文字幕| 欧洲日韩成人av| 日韩免费在线电影| 欧美激情高清视频| 欧美午夜激情视频| 久久久亚洲国产| 日本国产欧美一区二区三区| 97视频在线观看免费高清完整版在线观看| 欧美成人激情视频免费观看| 亚洲精品电影在线观看| 国产日韩欧美电影在线观看| 欧美黄色性视频| 国产精品视频精品| 国产va免费精品高清在线观看| 欧美激情国产精品| 91欧美精品午夜性色福利在线| 91精品国产高清久久久久久| 欧美激情国产日韩精品一区18| 久久久久99精品久久久久| 亚洲xxxx妇黄裸体| 日韩精品视频在线| 亚洲影视九九影院在线观看| 欧美区在线播放| 国产精品精品视频一区二区三区| 久久艹在线视频| 日韩精品视频在线| 在线观看亚洲区| 成人免费视频网址| 欧美性xxxxxxx| 久久久久久成人精品| 久久精品国亚洲| 亚洲自拍欧美色图| 68精品久久久久久欧美| 成人精品一区二区三区| 欧美成人一区二区三区电影| 久久不射电影网| 欧美wwwwww| 久久久久这里只有精品| 亚洲欧美www| 日韩欧美第一页| 欧美电影免费观看电视剧大全| 中文字幕亚洲一区二区三区| 久久久亚洲福利精品午夜| 91久久夜色精品国产网站| 国内精品久久久久影院优| 午夜精品久久久久久久99黑人| 国产成人精品日本亚洲专区61| 欧美日韩在线免费观看| 亚洲缚视频在线观看| 91精品视频在线| 亚洲欧美激情四射在线日| 5566成人精品视频免费| 久久久亚洲国产天美传媒修理工| 国产精品白嫩初高中害羞小美女| 7777精品视频| 91欧美精品成人综合在线观看| 久久久精品久久久久| 国产日韩精品综合网站| 欧美精品999| 国产精品天天狠天天看| 91欧美精品成人综合在线观看| 91精品国产综合久久香蕉的用户体验| 久久久久久噜噜噜久久久精品| 亚洲a在线观看| 夜夜躁日日躁狠狠久久88av| 国产精品第七十二页| 亚洲最大的网站| 日本免费在线精品| 欧美国产日韩视频| 5566日本婷婷色中文字幕97| 日本一区二三区好的精华液| 97成人精品区在线播放| 欧美日韩国产一中文字不卡| 久久777国产线看观看精品| 欧美日韩国产色视频| 欧美大尺度在线观看| 在线视频中文亚洲| 国产精品电影在线观看| 久久伊人色综合| 日韩av在线影视| 久久久久久高潮国产精品视| 国语自产精品视频在线看一大j8| 91久久中文字幕| 亚洲成人av在线播放| 国产97在线播放| 97视频在线免费观看| 国产91色在线免费| 国产视频精品在线| 成人国产精品av| 亚洲欧美在线x视频| 懂色av中文一区二区三区天美| 欧美视频中文字幕在线| 欧美黑人狂野猛交老妇| 亚洲精品动漫100p| 人人澡人人澡人人看欧美| 中文字幕亚洲欧美在线| 日韩av在线免费观看| 在线播放精品一区二区三区| 国产精品爽黄69天堂a| 26uuu亚洲国产精品| 亚洲国产91色在线| 午夜剧场成人观在线视频免费观看| 性欧美xxxx交| 国产精品手机播放| 91精品国产91久久久久久吃药| 国内揄拍国内精品少妇国语| 国内精品在线一区| 国产亚洲精品久久久久久| 久久人人97超碰精品888| 亚洲精品动漫久久久久| 91高清视频在线免费观看| 国产999视频| 狠狠躁夜夜躁人人爽超碰91| 色偷偷av一区二区三区乱| 丰满岳妇乱一区二区三区| 久久夜色精品国产| 欧美美女操人视频| 搡老女人一区二区三区视频tv| 97超级碰碰碰久久久| 欧美xxxx14xxxxx性爽| 中文日韩在线观看| 欧美日韩在线第一页| 国产99久久精品一区二区 夜夜躁日日躁| 色一情一乱一区二区| 国产精品99久久久久久久久久久久| 中文字幕亚洲二区| 欧美精品性视频| 久久久av免费| 91po在线观看91精品国产性色| 欧美亚洲成人精品| 青青草原一区二区| www.亚洲一区| 91在线视频成人| 尤物九九久久国产精品的分类| 亚洲色图综合久久| 欧美视频13p| 丁香五六月婷婷久久激情| 91久久综合亚洲鲁鲁五月天| 久久九九热免费视频| 中文字幕视频在线免费欧美日韩综合在线看| 中文字幕亚洲专区| 一区二区欧美激情| 国产免费一区二区三区在线观看| 亚洲天堂av图片| 色哟哟入口国产精品| 国产成人极品视频| 国产69精品久久久久9| 欧美在线免费观看| 国产精品美女无圣光视频| 日韩少妇与小伙激情|