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 相关文章推荐
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
php递归列出所有文件和目录的代码
Sep 10 PHP
php mssql 日期出现中文字符的解决方法
Mar 10 PHP
PHP JSON 数据解析代码
May 26 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
PHP中使用数组实现堆栈数据结构的代码
Feb 05 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
PHP实现动态web服务器方法
Jul 29 PHP
php微信公众号开发之微信企业付款给个人
Oct 04 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
php源码的使用方法讲解
Sep 26 PHP
laravel5 Eloquent 实现事务方式
Oct 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
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
Python简单操作sqlite3的方法示例
2017/03/22 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
python 实现在Excel末尾增加新行
2018/05/02 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
python常用运维脚本实例小结
2020/02/14 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
食品安全工作实施方案
2014/03/26 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
2014年师德承诺书
2014/05/23 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
2015选调生工作总结
2015/07/24 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
民事调解协议书
2016/03/21 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技