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

时间: 2024-11-10 13:59:25

PHP+Ajax手机发红包的程序例子的相关文章

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

PHP Ajax有许多的功能都会用到它小编今天就有使用PHP Ajax实现的一个抢红包功能,下面我们来看一个PHP Ajax手机发红包的程序例子,具体如下所示. PHP发红包基本流程:当输入完红包数量和总金额后,PHP会根据这两个值进行随机分配每个金额,保证每个人都能领取到一个红包,且每个红包金额不等.也就是每个人领取的红包金额要不同,并且所有红包金额总额等于总金额. php发红包实现原理: 设定总金额为10元,有N个人随机领取: N=1 第一个 则红包金额=X元: N=2 第二个 为保证第二个

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

PHP Ajax有许多的功能都会用到它小编今天就有使用PHP Ajax实现的一个抢红包功能,下面我们来看一个PHP Ajax手机发红包的程序例子,具体如下所示. PHP发红包基本流程:当输入完红包数量和总金额后,PHP会根据这两个值进行随机分配每个金额,保证每个人都能领取到一个红包,且每个红包金额不等.也就是每个人领取的红包金额要不同,并且所有红包金额总额等于总金额. php发红包实现原理: 设定总金额为10元,有N个人随机领取: N=1 第一个 则红包金额=X元: N=2 第二个 为保证第二个

使用PHP编写发红包程序_php实例

使用PHP发红包,当我们输入红包数量和总金额后,PHP会根据这两个值进行随机分配每个金额,保证每个人都能领取到一个红包,每个红包金额不等,就是要求红包金额要有差异,所有红包金额总额应该等于总金额. 我们先来分析下规律. 设定总金额为10元,有N个人随机领取: N=1 第一个 则红包金额=X元: N=2 第二个 为保证第二个红包可以正常发出,第一个红包金额=0.01至9.99之间的某个随机数. 第二个红包=10-第一个红包金额: N=3 第三个 红包1=0.01至9.99之间的某个随机数 红包2=

PHP实现微信发红包程序_php实例

使用PHP发红包,当我们输入红包数量和总金额后,PHP会根据这两个值进行随机分配每个金额,保证每个人都能领取到一个红包,每个红包金额不等,就是要求红包金额要有差异,所有红包金额总额应该等于总金额. 查看演示                        下载源码 首先给大家分析下规律. 设定总金额为10元,有N个人随机领取: N=1 第一个 则红包金额=X元: N=2 第二个 为保证第二个红包可以正常发出,第一个红包金额=0.01至9.99之间的某个随机数. 第二个红包=10-第一个红包金额:

手机QQ空间怎么发红包?QQ空间如何发红包方法图文教程

如何在qq空间发红包,qq空间怎么发红包方法教程.随着春节的临近,各种关于红包的消息没有消停过,昨天QQ空间新增了发红包的功能,在QQ空间的说说发红包,大家赶紧来看看吧. 如何在qq空间发红包 qq空间怎么发红包方法介绍 方法/步骤: 1.打开朋友发的说说页面,点击下面的灰色字体"QQ空间红包" 2.在随后弹出页面中,点击"发红包" 3..输入你要发的红包的金额和份数(这和我们平时发红包一样),然后确定发送,就OK了   以上就是QQ空间怎么发红包,qq空间发红包的

php版的微信公众号接口发红包程序代码

最近接到一个任务,需要用微信来给用户自动发红包.要完成这个任务需要这么已经一些物料 微信商户号,已申请微信支付 微信商户号主体下面的微信公仔号 先看一下效果图 只需要完成后面几步就可以了. 在微信支付的服务器上面部署红包代码 在微信公众号服务器上面调用红包代码 /* **微信红包功能 */   public function sendredpack(){     $re_openid = $this->_pg('re_openid');    $inputObj = new sendredpac

【微信公众号发红包转账】微信公众号上手机网页接收请求,通过公众号给用户发红包 开发流程

有了微信支付 的开发做铺垫,相关的微信其他业务处理起来逻辑就能清晰很多.   准备好这两个架包   ---------------------------------------------------------------------------------------------------1.微信公众号发红包 开发流程图-------------------------------------------------------------------------------------

用AJAX开发智能Web应用程序之基础篇

一. 什么是AJAX? 这个名字代表了异步javascript+XMLHTTPRequest,并且意味着你可以在基于浏览器的javascript和服务器之间建立套接字通讯.其实AJAX并不是一种新技术,而是已经成功地用于现代浏览器中的若干成功技术的可能性组合.所有的AJAX应用程序实现了一种"丰富的"UI--这是通过javascript操作HTML文档对象模型并且经由XMLHttpRequest实现的精确定位的数据检索来实现的.典型的示例AJAX应用程序是Google Labs(htt

钉钉如何发红包?

  1.企业红包: (1)进入钉钉手机客户端; (2)进入消息列表,找到企业群; (3)点击"+",选择功能栏的"红包"; (4)选择"企业红包"→选择"接收人"→输入"单个金额"→发红包; (5)跳转到绑定支付宝进行支付. 温馨提示: (1)只能在企业群中发放; (2)只能选择的接收人可领取红包; 2.拼手气红包 (1)进入钉钉手机客户端; (2)进入消息列表,找到群聊天; (3)点击"+&qu