Rumah >pembangunan bahagian belakang >tutorial php >php实现中奖概率算法函数的思路分析

php实现中奖概率算法函数的思路分析

黄舟
黄舟asal
2017-08-16 11:35:391416semak imbas

那么在我们工作中,不管是商城的,企业站等等一些主流网站,公司很多时候都会出现很多的限时活动,优惠活动,当然最重要的就要数抽奖活动了,很多公司都会用抽奖活动来吸引更多的客户,那么我们今天就给大家讲讲这个抽奖中奖概率的算法!

首先下载我们本节课程所需要用到的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);
?>

运行结果如下图所示:

27.png

注意:

当我们没刷一次页面,数据就会发生一改变~

Atas ialah kandungan terperinci php实现中奖概率算法函数的思路分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn