<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="【例子】PHP实现微信发红包程序" id="card1">
<p> 游客</p><p>
标题:【例子】PHP实现微信发红包程序<br/>
正文:<br/>
使用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&amp;hellip;&amp;hellip;于是我们得到一个规律，在分配当前红包金额时，先预留剩余红白所需最少金额，然后在0.01至总金额-预留金额间取随机数，得到的随机数就是当前红包分配的金额。实际应用中，程序先将红包金额分配好，即发红包时，红包个数以及每个红包的金额都分配好了，那么用户来抢红包时，我们随机给用户返回一个红包即可。红包分配代码：$total=20;//红包总金额 $num=10;// 分成10个红包，支持10人随机领取 $min=0.01;//每个人最少能收到0.01元 for ($i=1;$i&amp;lt;$num;$i++) {  $safe_total=($total-($num-$i)*$min)/($num-$i);//随机安全上限  $money=mt_rand($min*100,$safe_total*100)/100;  $total=$total-$money;  echo '第'.$i.'个红包：'.$money.' 元，余额：'.$total.' 元 '; }echo '第'.$num.'个红包：'.$total.' 元，余额：0 元'; 运行以上代码，会输出以下结果：第1个红包，金额2.08元，余额17.92元第2个红包，金额1.81元，余额16.11元第3个红包，金额0.15元，余额15.96元第4个红包<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2181&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2181&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2181&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2181&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2181">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2181">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>