微信红包和抽奖代码分享
程序员文章站
2022-05-22 08:45:08
...
具体思路是,定义总钱数和人数,然后最小值为默认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元
上一篇: css实现图片横向排列滚动效果