PHP 生成微信红包代码简单

废话不多说了,一切解释尽在代码中,具体代码如下所示:

/**
* @param $total [你要发的红包总额]
* @param int $num [发几个]
* @return array[生成红包金额]
*/
function getRedGift($total, $num = 10)
{
$min = 0.01;
$wamp = array();
$returnData = array();
for ($i = 1; $i < $num; ++$i) {
$safe_total = ($total - ($num - $i) * $min) / ($num - $i); //红包金额的最大值
if ($safe_total < 0) break;
$money = @mt_rand($min * 100, $safe_total * 100) / 100;//随机产生一个红包金额
$total = $total - $money;//剩余红包总额
$wamp[$i] = round($money, 2);//保留两位有效数字
}
$wamp[$i] = round($total, 2);
$returnData['MoneySum'] = $wamp;
$returnData['newTotal'] = array_sum($wamp);
return $returnData;
}
//测试
$data = getRedGift(100, 10);
print_r($data);
//result:
/*
Array
(
[1] => 8.7
[2] => 10.09
[3] => 6.23
[4] => 6.87
[5] => 0.47
[6] => 3.12
[7] => 7.52
[8] => 12.21
[9] => 20.53
[10] => 24.26
)*/

代码到此就给大家写完了,希望对大家有所帮助!更多有关php 生成红包的程序代码尽在我们网站,请登陆我们的官网了解更多资讯,谢谢!

(0)

相关推荐

  • 微信红包随机生成算法php版

    想了想,自己写写php版的微信红包随机生成算法,能不能实现类似的功能(其实也不敢说是算法). // $bonus_total 红包总金额 // $bonus_count 红包个数 // $bonus_type 红包类型 1=拼手气红包 0=普通红包 function randBonus($bonus_total=0, $bonus_count=3, $bonus_type=1){ $bonus_items = array(); // 将要瓜分的结果 $bonus_balance = $bonus

  • php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)

    微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中. 内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI <?php class WxApi { const appId = ""; const appSecret = ""; const mchid = ""; //商户号 const privatekey = ""; //私钥 public $param

  • php实现的微信红包算法分析(非官方)

    本文实例讲述了php实现的微信红包算法.分享给大家供大家参考.具体如下: 最近一直在微信群里体验红包功能,红包类型有两种: 1. 普通红包 2. 拼手气红包 普通红包就不用多解析了,大锅饭原理,平分. 拼手气红包讲的是手气(运气),有人可以抢到很多,有人抢的少得可怜,当然也不是先抢就一定多,说到底了就是随机. 想了想,自己写写看,能不能实现类似的功能(不敢说是算法). // $bonus_total 红包总金额 // $bonus_count 红包个数 // $bonus_type 红包类型 1

  • php实现微信模拟登陆、获取用户列表及群发消息功能示例

    本文实例讲述了php实现微信模拟登陆.获取用户列表及群发消息功能.分享给大家供大家参考,具体如下: <?php header('Content-Type: text/html; charset=UTF-8'); /* 调用方式简单说明: $arr = array( 'account' => '公众平台帐号', 'password' => '密码' ); $w = new Weixin($arr); print_r($w->getAllUserInfo());//获取所有用户信息 $

  • PHP版微信公众平台红包API

    重写了一下PHP下面的微信API接口, 微信红包支持,JSAPI的动态参数接口支持 http://git.oschina.net/youkuiyuan/yky_test/blob/master/class/wxapi.class.php 微信API类 - 增加红包支持 <?php /******************************************************** * @author Kyler You <QQ:2444756311> * @link htt

  • 微信随机生成红包金额算法php版

    最近在研究发红包的功能,于是写了个红包的生成算法. 红包生成算法的需求 预先生成所有的红包还是一个请求随机生成一个红包 简单来说,就是把一个大整数m分解(直接以"分为单位,如1元即100)分解成n个小整数的过程,小整数的范围是[min, max]. 最简单的思路,先保底,每个小红包保证有min,然后每个请求都随机生成一个0到(max-min)范围的整数,再加上min就是红包的钱数. 这个算法虽然简单,但是有一个弊端:最后生成的红包可能都是min钱数的.也就是说可能最后的红包都是0.01元的. 另

  • PHP实现微信发红包程序

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

  • PHP开发的微信现金红包功能示例

    本文实例讲述了PHP开发的微信现金红包功能.分享给大家供大家参考,具体如下: 微信商家后台-现金红包开发 sdk <?php class wxPay { //配置参数信息 const SHANGHUHAO = "1430998xxx";//商户号 const PARTNERKEY = "leFyTOXWzUEXxfp47WOu5d9xxxxxx"; //api,商户后台 //核心支付函数,参数:请求地址和参数 function pay($url,$obj) {

  • PHP微信支付开发实例

    PHP微信支付开发过程,分享给大家,供大家参考,具体内容如下 1.开发环境 Thinkphp 3.2.3 微信:服务号,已认证 开发域名:http://test.paywechat.com (自定义的域名,外网不可访问) 2.需要相关文件和权限 微信支付需申请开通 微信公众平台开发者文档:http://mp.weixin.qq.com/wiki/home/index.html 微信支付开发者文档:https://pay.weixin.qq.com/wiki/doc/api/index.html

  • php微信支付接口开发程序

    php微信支付接口开发程序讲解: 必要条件: appid //公众号后台开发者中心获得(和邮件内的一样) mchid//邮件内获得 key//商户后台自己设置 appsecret //公众号开发者中心获得 两个证书文件,邮件内获得 apiclient_cert.pem   apiclient_key.pem 注意事项: 公众号后台微信支付->开发配置->新增测试目录和测试个人微信号. 开发者中心->网页授权获取用户基本信息->修改成你的测试域名.否则会出现redirect_uri

  • PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】

    本文实例讲述了PHP实现微信模拟登陆并给用户发送消息的方法.分享给大家供大家参考,具体如下: <?php /* 原作者:https://github.com/itziy/wechat 修改:Server getUserFakeid函数 获取fakeid的正则匹配公式 调用方式简单说明: $arr = array( 'account' => '公众平台帐号', 'password' => '密码' ); $w = new Weixin($arr); $w->getAllUserInf

  • php版微信发红包接口用法示例

    本文实例讲述了php版微信发红包接口用法.分享给大家供大家参考,具体如下: 微信红包功能我相信各位朋友都知道吧,但如果我们要把红包集成到网站那么要如何来做呢?这里小编就来为各位分享一个php 微信发红包接口测试实例,希望文章能够帮助到各位朋友 下面是一个类,使用方法: $arr['openid']='ojgTTt8oF9VdYcGsJMACHpA-jy1U'; $arr['hbname']="提现申请"; $arr['body']="您的提现申请已经成功"; $ar

随机推荐