php结合ajax实现手机发红包的案例


Posted in PHP onOctober 13, 2016

PHP Ajax有许多的功能都会用到它小编今天就有使用PHP Ajax实现的一个抢红包功能,下面我们来看一个PHP Ajax手机发红包的程序例子,具体如下所示。

PHP发红包基本流程:当输入完红包数量和总金额后,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至总金额-预留金额间取随机数,得到的随机数就是当前红包分配的金额。

实际应用中,程序先将红包金额分配好,即发红包时,红包个数以及每个红包的金额都分配好了,那么用户来抢红包时,我们随机给用户返回一个红包即可。

jquery代码:

$(function() { 
 $("button").click(function() { 
 $.ajax({ 
 type: 'POST', 
 url: 'bao.php', 
 dataType: 'json', 
 beforeSend: function() { 
 $("#result").html('正在分配红包'); 
 }, 
 success: function(json) { 
 if (json.msg == 1) { 
  var str = ''; 
  var res = json.res; 
  $.each(res, 
  function(index, array) { 
  str = '<p>第<span>' array['i'] '</span>个红包,
  金额<span>' array['money'] '</span>元,余额<span>' 
  array['total'] '元</span></p>'; 
  }); 
  $("#result").html(str); 
 } else { 
  $("#result").html('数据出错!'); 
 } 
 } 
 }); 
 }); 
});

PHP代码:bao.php

$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 元';

效果如图所示:

php结合ajax实现手机发红包的案例

PHP 相关文章推荐
PHP 函数执行效率的小比较
Oct 17 PHP
解决CodeIgniter伪静态失效
Jun 09 PHP
php替换字符串中间字符为省略号的方法
May 04 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
PHP数组编码gbk与utf8互相转换的两种方法
Sep 01 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 PHP
实现php删除链表中重复的结点
Sep 27 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
详解Laravel服务容器的优势
May 29 PHP
php加密解密字符串示例
Oct 13 #PHP
用php和jQuery来实现“顶”和“踩”的投票功能
Oct 13 #PHP
php is_writable判断文件是否可写实例代码
Oct 13 #PHP
基于PHP制作验证码
Oct 12 #PHP
实现PHP搜索加分页
Oct 12 #PHP
如何使用PHP给图片加水印
Oct 12 #PHP
php版微信数据统计接口用法示例
Oct 12 #PHP
You might like
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
基于jQuery的表格操作插件
2010/04/22 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
python文件操作整理汇总
2014/10/21 Python
Python中模块string.py详解
2017/03/12 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
python游戏地图最短路径求解
2019/01/16 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
天游软件面试
2013/11/23 面试题
班风学风建设方案
2014/05/06 职场文书
安全施工责任书
2014/08/25 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
MySQL 如何分析查询性能
2021/05/12 MySQL
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis