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 Ctemplate引擎开发相关内容
Mar 03 PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 PHP
PHP基本语法总结
Sep 06 PHP
php中file_exists函数使用详解
May 08 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
CI框架整合smarty步骤详解
May 19 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
php中使用array_filter()函数过滤数组实例讲解
Mar 03 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
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
PHP 9 大缓存技术总结
2015/09/17 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
JavaScript 乱码问题
2009/08/06 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
python图像处理之反色实现方法
2015/05/30 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
python实现自动解数独小程序
2019/01/21 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
党员组织关系介绍信
2014/02/13 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
法院信息化建设方案
2014/05/21 职场文书
世界环境日活动总结
2015/02/11 职场文书
2015年上半年计生工作总结
2015/03/30 职场文书
医者仁心观后感
2015/06/17 职场文书
小型婚礼主持词
2015/06/30 职场文书
食品卫生管理制度
2015/08/06 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏