欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

微信红包和抽奖代码分享

程序员文章站 2022-05-31 10:29:55
...
具体思路是,定义总钱数和人数,然后最小值为默认0.01元,然后进行循环,设置安全值是为了让后面的人都能拿到钱。仅自己尝试,有需求的可自己深入研究
微信红包代码: 02
// 微信红包算法
03
header("content-type:text/html;charset=utf-8");
04
$sum = 10; //总价钱
05
$num = 8 ; //人数
06
$min = 0.01; //最少值
07
for($i=1;$i 08
$row = ($sum-($num-$i)*$min)/($num-$i);// 安全值
09
$money = mt_rand($min*100,$row*100)/100;
10
$sum -= $money;
11
echo '第'.$i.'人,领取'.$money.'元,剩下'.$sum.'元
';
12
}
13
echo '第'.$num.'人,领取'.$sum.'元,剩下'.$sum.'元';
14
?>
抽奖代码 02
// 抽奖
03
header("content-type:text/html;charset=utf-8");
04
function get_rand($arr){
05
$arr_sum = array_sum($arr);
06
$arr_rand = mt_rand(1,$arr_sum);
07
foreach($arr as $key => $arr_num){
08
$arr_sum -= $arr_num;
09
if($arr_rand>$arr_sum){
10
return $key;
11
}
12
}
13
}
14
$p = array(
15
'0' => array('id'=>1,'info'=>'一等奖','v'=>1),
16
'1' => array('id'=>2,'info'=>'二等奖','v'=>5),
17
'2' => array('id'=>3,'info'=>'三等奖','v'=>10),
18
'3' => array('id'=>4,'info'=>'四等奖','v'=>34)
19
);
20
foreach($p as $key => $value){
21
$arr[$value['id']] = $value['v'];
22
}
23
$rid = get_rand($arr);
24
$res['yes'] = $p[$rid-1]['info'];
25
unset ($p[$rid-1]) ;
26
shuffle ($p);
27
for($i=0;$i 28
$pr[]= $p[$i]['info'];
29
}
30
$res['no'] = $pr;
31
var_dump($res);
32
?>

AD:真正免费,域名+虚机+企业邮箱=0元