PHP+AJAX开发幸运大转盘抽奖,通过奖品库存、中奖次数来计算中奖概率

奖品设置

 $prizes = array(
0 => array(
"id" => 0, //中奖id
"name" => "谢谢参与", //奖品名称
"count" => "100", //库存
),
1 => array(
"id" => 1,
"name" => "罗浮山门票",
"count" => "40",
),
2 => array(
"id" => 2,
"name" => "罗浮山嘉宝田温泉体验券",
"count" => "40",
),
3 => array(
"id" => 3,
"name" => "精美旅游书籍《山水酿惠州》",
"count" => "40",
),
4 => array(
"id" => 4,
"name" => "碧海湾漂流门票",
"count" => "40",
),
5 => array(
"id" => 5,
"name" => "南昆山门票",
"count" => "40",
),
6 => array(
"id" => 6,
"name" => "云顶温泉精美礼品",
"count" => "40",
),
);

获取中奖概率,若是库存为0的则不计算

 function getRand($proArr, $proCount) {
$result = '';
$proSum = 0;
foreach ($proCount as $key => $val) {
if ($val <= 0) {
continue;
} else {
$proSum = $proSum + $proArr[$key];
}
}
foreach ($proArr as $key => $proCur) {
if ($proCount[$key] <= 0) {
continue;
} else {
$randNum = mt_rand(1, $proSum);
if ($randNum <= $proCur) {
$result = $key;
break;
} else {
$proSum -= $proCur;
}
}
}
unset($proArr);
return $result;
}

本文转自:http://www.sucaihuo.com/php/3301.html 转载请注明出处!

最新文章

  1. Jfinal连接SQLSERVER相关配置说明
  2. Linux System Calls Hooking Method Summary
  3. 个人js
  4. Jquery中的 height(), innerHeight() outerHeight()区别
  5. IOS 加载Xib 后 如何 动态修改xib中的控件frame
  6. 元组的cmp()内建函数
  7. XML 格式转JSON 格式
  8. Wing IDE 5 for Python 安装及破解方法
  9. jobs
  10. 1242Rescue (优先队列BFS)
  11. javascript 识别移动端设备
  12. dedecms文章的更新时间问题 每次更改文章时间变成最新的
  13. Shell命令行
  14. c 查找A字符串在B字符串中是否存在,计算出现的次数
  15. C#学习之-----再论委托
  16. ecshop里的$_CFG从哪来的
  17. 201521123026 《Java程序设计》第5周学习总结
  18. 文档对象模型(DOM),你只需知道这些就够了!
  19. Maven 环境配置
  20. 原生ajax的请求函数

热门文章

  1. 利用actionscript访问wfs服务
  2. 【Linux】sudo用户权限管理
  3. JavaScript基础入门知识
  4. QTableview 只显示横向线
  5. user purchase behavior:
  6. 配置一个高效快速的Git环境
  7. IIS环境搭建
  8. python UI自动化实战记录二:请求接口数据并提取数据
  9. python25 python的三目运算符
  10. 为什么ssh一关闭,程序就不再运行了?