PHP中奖概率的抽奖算法程序代码
2014-02-13 09:47
567 查看
[align=center]<?php
//id为奖次,prize为中奖信息,v为中奖概率
[/align]$prize_arr = array(
'0' => array('id' => 1, 'prize' => '1 ', 'v' => 1),
'1' => array('id' => 2, 'prize' => '2 ', 'v' => 2),
'2' => array('id' => 3, 'prize' => '3 ', 'v' => 5),
'3' => array('id' => 4, 'prize' => '4 ', 'v' => 10),
'4' => array('id' => 5, 'prize' => '5 ', 'v' => 15),
'5' => array('id' => 6, 'prize' => '6 ', 'v' => 67),
);
foreach ($prize_arr as $key => $val)
{
$arr[$val['id']] = $val['v'];
}
$rid = get_rand($arr); //根据概率获取奖项id
switch($rid)
{
case $rid==1:one();break;
case $rid==2:two();break;
case $rid==3:three();break;
case $rid==4:four();break;
case $rid==5:five();break;
case $rid==6:six();break;
}
/**
* 根据概率获取中奖号码
*/
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;
}
function one()
{
echo 'one------1';
}
function two()
{
echo 'two------2';
}
function three()
{
echo 'three------3';
}
function four()
{
echo 'four------4';
}
function five()
{
echo 'five------5';
}
function six()
{
echo 'six------6';
}
?>
//id为奖次,prize为中奖信息,v为中奖概率
[/align]$prize_arr = array(
'0' => array('id' => 1, 'prize' => '1 ', 'v' => 1),
'1' => array('id' => 2, 'prize' => '2 ', 'v' => 2),
'2' => array('id' => 3, 'prize' => '3 ', 'v' => 5),
'3' => array('id' => 4, 'prize' => '4 ', 'v' => 10),
'4' => array('id' => 5, 'prize' => '5 ', 'v' => 15),
'5' => array('id' => 6, 'prize' => '6 ', 'v' => 67),
);
foreach ($prize_arr as $key => $val)
{
$arr[$val['id']] = $val['v'];
}
$rid = get_rand($arr); //根据概率获取奖项id
switch($rid)
{
case $rid==1:one();break;
case $rid==2:two();break;
case $rid==3:three();break;
case $rid==4:four();break;
case $rid==5:five();break;
case $rid==6:six();break;
}
/**
* 根据概率获取中奖号码
*/
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;
}
function one()
{
echo 'one------1';
}
function two()
{
echo 'two------2';
}
function three()
{
echo 'three------3';
}
function four()
{
echo 'four------4';
}
function five()
{
echo 'five------5';
}
function six()
{
echo 'six------6';
}
?>
相关文章推荐
- PHP中奖概率的抽奖算法程序代码_PHP教程
- PHP中奖概率的抽奖算法程序代码
- PHP中奖概率的抽奖算法程序代码
- php编写的抽奖程序中奖概率算法
- php编写的抽奖程序中奖概率算法
- php实现可以设置中奖概率的抽奖程序代码分享
- php实现可以设置中奖概率的抽奖程序代码分享
- php编写的抽奖程序中奖概率算法
- php设置中奖概率抽奖程序代码
- php编写的抽奖程序中奖概率算法
- 基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
- 基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
- php编写的抽奖程序中奖概率算法
- php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法
- php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法
- PHP抽奖程序概率算法
- php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法
- php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法
- PHP抽奖算法程序代码分享
- 分享一个PHP抽奖算法程序代码