PHP实现微信发红包程序


Posted in PHP onAugust 24, 2015

使用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=20;//红包总金额 
$num=10;// 分成10个红包,支持10人随机领取 
$min=0.01;//每个人最少能收到0.01元 
for ($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; 
 echo '第'.$i.'个红包:'.$money.' 元,余额:'.$total.' 元 '; 
}
echo '第'.$num.'个红包:'.$total.' 元,余额:0 元';

运行以上代码,会输出以下结果:

第1个红包,金额2.08元,余额17.92元

第2个红包,金额1.81元,余额16.11元

第3个红包,金额0.15元,余额15.96元

第4个红包,金额1.61元,余额14.35元

第5个红包,金额1.11元,余额13.24元

第6个红包,金额1.51元,余额11.73元

第7个红包,金额1.21元,余额10.52元

第8个红包,金额2.58元,余额7.94元

第9个红包,金额5.4元,余额2.54元

第10个红包,金额2.54元,余额0元

以上就是使用php实现微信发红包程序,希望对大家有所帮助,有需要源码的朋友,可以直接下载。

PHP 相关文章推荐
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
PHP用SAX解析XML的实现代码与问题分析
Aug 22 PHP
php自动注册登录验证机制实现代码
Dec 20 PHP
mysql总结之explain
Feb 27 PHP
php分页思路以及在ZF中的使用
May 30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
Jun 23 PHP
PHP时间和日期函数详解
May 08 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
php批量删除超链接的实现方法
Oct 19 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
laravel通用化的CURD的实现
Dec 13 PHP
php 利用socket发送HTTP请求(GET,POST)
Aug 24 #PHP
php实现递归的三种基本方式
Jul 04 #PHP
php析构函数的简单使用说明
Aug 24 #PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
Aug 23 #PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 #PHP
详细解读PHP的Yii框架中登陆功能的实现
Aug 21 #PHP
使用PHP进行微信公众平台开发的示例
Aug 21 #PHP
You might like
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
PHP中的switch语句的用法实例详解
2015/10/21 PHP
js 通用javascript函数库整理
2011/08/14 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
angular *Ngif else用法详解
2020/12/15 Javascript
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
基于python3的socket聊天编程
2020/02/17 Python
Python内置函数locals和globals对比
2020/04/28 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
护理学毕业生自荐信
2013/10/02 职场文书
财务经理的岗位职责
2013/12/17 职场文书
怎样写好自我评价呢?
2014/02/16 职场文书
赔偿协议书范本
2014/04/15 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
导师对论文的学术评语
2015/01/04 职场文书
稽核岗位职责
2015/02/10 职场文书
年底个人总结范文
2015/03/10 职场文书
卫生主题班会
2015/08/14 职场文书
JavaScript 定时器详情
2021/11/11 Javascript