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获取网卡地址的代码
Apr 09 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
超级实用的7个PHP代码片段分享
Jan 05 PHP
php常用的url处理函数总结
Nov 19 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
nginx下安装php7+php5
Jul 31 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
Jul 03 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
实用函数4
2007/11/08 PHP
比较全的PHP 会话(session 时间设定)使用入门代码
2008/06/05 PHP
php SQL之where语句生成器
2009/03/24 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
JavaScript类的写法
2016/09/17 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
Python多线程学习资料
2012/12/19 Python
Python中Random和Math模块学习笔记
2015/05/18 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
HTML5制作表格样式
2016/11/15 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
法律专业推荐信范文
2013/11/29 职场文书
学前教育求职自荐信范文
2013/12/25 职场文书
管理心得体会
2013/12/28 职场文书
会计电算化专业求职信
2014/06/10 职场文书
师范毕业生求职信
2014/07/11 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
通讯稿格式及范文
2015/07/22 职场文书
高一语文教学反思
2016/02/16 职场文书
Go语言编译原理之变量捕获
2022/08/05 Golang