PHP编程实现计算抽奖概率算法完整实例
2018-09-07 13:21
本文实例讲述了PHP编程实现计算抽奖概率算法。分享给大家供大家参考,具体如下:
<?php //计算抽奖的概率 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; } $prize_arr = array( 0 => array(id=>1,prize=>家电,v=>2), 1 => array(id=>2,prize=>数码相机,v=>5), 2 => array(id=>3,prize=>iPad,v=>13), 3 => array(id=>4,prize=>LED显示器,v=>15), 4 => array(id=>5,prize=>U盘,v=>25), 5 => array(id=>6,prize=>键盘,v=>30), 6 => array(id=>7,prize=>鼠标垫,v=>10), ); foreach ($prize_arr as $key => $val) { $arr[$val[id]] = $val[v]; } $rid = get_rand($arr); $res[yes] = $prize_arr[$rid-1][prize]; unset($prize_arr[$rid-1]); shuffle($prize_arr); $prize_arrcount = count($prize_arr); for($i=0;$i<$prize_arrcount;$i++){ $pr[] = $prize_arr[$i][prize]; } $res[no] = $pr; //抽奖结果 $ro = $res[yes]; print_r($ro); ?>
运行结果:
iPad
PS:这里再为大家提供两款功能类似的在线工具供大家参考:
在线随机数字/字符串生成工具:
在线随机字符/随机密码生成工具:
在线随机数生成工具:
高强度密码生成器:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
文章标题:PHP编程实现计算抽奖概率算法完整实例
文章链接:http://soscw.com/index.php/essay/12511.html