使用PHP发红包。当我们输入红包的数量和总金额时,PHP会根据这两个值随机分配每个金额,保证每个人都能收到红包。每个红包的金额不同,即要求红包的金额不同,所有红包的总金额要等于总金额。先给大家分析一下规则:设总金额为10元,N个人随机领取:N=1,第一个红包金额=X元;N=2,二是保证第二个红包能正常发放,第一个红包的金额=0.01~9.99之间的一个随机数。第二个红包=10-第一个红包的金额;N=3第三个红包1=0.01~9.99之间的随机数红包2=0.01~(10-红包1-0.01)之间的随机数红包3=10-红包1-红包2...所以我们得到一个规则,在分配当前红包数量的时候,先预留剩余红包所需的最小数量,然后在0.01和总量之间取一个随机数-预留数量,得到的随机数就是当前红包分配的金额。在实际应用中,程序首先分配红包的数量,即在发送红包时分配红包的数量和每个红包的金额。然后当用户来抢红包的时候,我们随机给用户回一个红包。微信红包分配算法代码:$total=19.5;//红包总量$num=9;//分成10个红包,支持10人随机领取$min=0.01;//每人可领取至少0.01元$money\_arr=array();//随机充值红包金额为($i=1;$i<$num;$i++){$safe\_total=($total-($num-$i)\*$min)/($num-$i);//随机安全上限$money=mt\_rand($min\*100,$safe\_total\*100)/100;$total=$total-$money;$money\_arr\[\]=$money;echo'第'.$i.'个红包:'.$money.'yuan,balance:'.$total.'元'."
";}echo''.$num.'红包:'.round($total,2).'元,余额:0元';$money\_arr\[\]=round($total,2);dd($money\_arr);运行上面的代码,会输出如下结果:**第一个红包:2.15元,余额:17.35元第二个红包:1.46元,余额:15.89元第三个红包:2.23元,余额:13.66元第4个红包:2.43元,余额:11.23元第5个红包:2.37元,余额:8.86元第6个红包:0.1元,余额:8.76元第7个红包:2.26元,余额:6.5元第8个红包:2.09元,余额:4.41元第9个红包:4.41元,余额:0元**以上就是使用php实现微信红包发送程序,希望对大家有所帮助!
