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 相关文章推荐
PHP 简单数组排序实现代码
Aug 05 PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
PHP函数microtime()用法与说明
Dec 04 PHP
php获取文件内容最后一行示例
Jan 09 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
PHP实现删除字符串中任何字符的函数
Aug 11 PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
php中的登陆login实例代码
Jun 20 PHP
php实现背景图上添加圆形logo图标的方法
Nov 17 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 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
PHP常用代码
2006/11/23 PHP
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
isset和empty的区别
2007/01/15 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
php实现图片压缩处理
2020/09/09 PHP
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
python daemon守护进程实现
2016/08/27 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
Python构建网页爬虫原理分析
2017/12/19 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
基于python求两个列表的并集.交集.差集
2020/02/10 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
Python 防止死锁的方法
2020/07/29 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
语文教育专业推荐信范文
2013/11/25 职场文书
竞职演讲稿范文
2014/01/11 职场文书
会计工作心得体会
2014/01/13 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
文体活动实施方案
2014/03/27 职场文书
家长意见书
2015/06/04 职场文书
告知书格式
2015/07/01 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
golang实现浏览器导出excel文件功能
2022/03/25 Golang