首頁 >後端開發 >php教程 >php實作中獎機率演算法函數的思路分析

php實作中獎機率演算法函數的思路分析

黄舟
黄舟原創
2017-08-16 11:35:391416瀏覽

那麼在我們工作中,不管是商城的,企業站等等一些主流網站,公司很多時候都會出現很多的限時活動,優惠活動,當然最重要的就要數抽獎活動了,很多公司都會用抽獎活動來吸引更多的客戶,那我們今天就跟大家講講這個抽獎中獎機率的演算法!

首先下載我們本節課程所需用到的php中獎機率演算法函數類別庫:http://www.php.cn/xiazai/leiku/773

下載完成之後找到我們需要的php類別文件,解壓縮至我們本地目錄,建立新的php檔案!

完成之後,我們要在新的php檔案裡呼叫這類,以及實例化該類別:

<?php
include_once "codecj.php";//引入类文件

//定义数组
$prize_arr = array(
  &#39;0&#39; => array(&#39;id&#39;=>1,&#39;prize&#39;=>&#39;平板电脑&#39;,&#39;v&#39;=>1),
  &#39;1&#39; => array(&#39;id&#39;=>2,&#39;prize&#39;=>&#39;数码相机&#39;,&#39;v&#39;=>5),
  &#39;2&#39; => array(&#39;id&#39;=>3,&#39;prize&#39;=>&#39;音箱设备&#39;,&#39;v&#39;=>10),
  &#39;3&#39; => array(&#39;id&#39;=>4,&#39;prize&#39;=>&#39;4G优盘&#39;,&#39;v&#39;=>12),
  &#39;4&#39; => array(&#39;id&#39;=>5,&#39;prize&#39;=>&#39;10Q币&#39;,&#39;v&#39;=>22),
  &#39;5&#39; => array(&#39;id&#39;=>6,&#39;prize&#39;=>&#39;下次没准就能中哦&#39;,&#39;v&#39;=>50),
);
 
 //每次前端页面的请求,PHP循环奖项设置数组,
 foreach ($prize_arr as $key => $val) {
    $arr[$val[&#39;id&#39;]] = $val[&#39;v&#39;];
}
$rid = get_rand($arr); //根据概率获取奖项id

$res[&#39;yes&#39;] = $prize_arr[$rid-1][&#39;prize&#39;]; //中奖项
unset($prize_arr[$rid-1]); //将中奖项从数组中剔除,剩下未中奖项
shuffle($prize_arr); //打乱数组顺序
for($i=0;$i<count($prize_arr);$i++){
    $pr[] = $prize_arr[$i][&#39;prize&#39;];
}
$res[&#39;no&#39;] = $pr;
print_r($res);
?>

運行結果如下圖所示:

php實作中獎機率演算法函數的思路分析

注意:

#當我們沒刷一次頁面,資料就會發生一改變~

以上是php實作中獎機率演算法函數的思路分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn