php生成微信红包数组的方法

1.1. 源代码

<?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) {//如果红金金额的最大值小于0就跳出循环break;
  }
  $money = @mt_rand($min * 100, $safe_total * 100) / 100; //随机产生一个红包金额, mt_rand(min,max)是生成min到max的随机整数,包含min和max,所以为了生成的红包金额有小数,所以*100先,再100$total = $total - $money; //剩余红包总额$wamp[$i] = round($money, 2); //保留两位有效数字}
$wamp[$i] = round($total, 2);//最后一个红包金额$returnData['MoneySum'] = $wamp;
$returnData['newTotal'] = array_sum($wamp);//array_sum是计算数组中所有值的和 return $returnData;
}
//测试$data = getRedGift(100, 10);
echo '<pre>';
print_r($data);
?>

1.2. 代码图

1.3. 效果图

总结

以上所述是小编给大家介绍的php生成微信红包数组的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 微信小程序实现红包功能(后端PHP实现逻辑)

    本文为大家分享了微信小程序红包功能的具体代码,供大家参考,具体内容如下 首先说明一点:微信小程序红包功能一定记得用企业付款到钱包功能,别用微信的现金红包接口,否则你就有踩不完的坑. 直接上代码了 微信小程序代码: index.js //抢红包相关 view_moneysure: function () { var that = this; wx.request({ url: app.globalData.baseurl +'api/wxopen/applet/grab',//这个链接是后端写的

  • php仿微信红包分配算法的实现方法

    本文实例讲述了php仿微信红包分配算法的实现方法.分享给大家供大家参考,具体如下: /** * 红包分配:把一定金额随机分配给指定人数 * * @param int $money 用于分配的金额 * @param int $num 分配人数 */ function RandomMoney($money, $num) { echo "$money元随机分成$num份分别是:<br/>"; $remain=$money; $use=0; for ($i=1; $i<$nu

  • PHP微信公众号自动发送红包API

    本文实例为大家分享了PHP微信公众号自动发送红包API代码,分享给大家供大家参考.具体如下: 贴出核心接口代码至于数据自己填写,接口测试OK wechat_packet.php <!--?php /** * 发送红包接口 * Created by PhpStorm. * User: ADKi * Date: 2016/4/25 0025 * Time: 15:25 */ class wechat_packet{ private $url = 'https://api.mch.weixin.qq.

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

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

  • php版微信公众号接口实现发红包的方法

    本文实例讲述了php版微信公众号接口实现发红包的方法.分享给大家供大家参考,具体如下: 最近接到一个任务,需要用微信来给用户自动发红包.要完成这个任务需要这么已经一些物料 微信商户号,已申请微信支付 微信商户号主体下面的微信公众号 先看一下效果图 只需要完成后面几步就可以了. 在微信公众号服务器上面调用红包代码 /* **微信红包功能 */ public function sendredpack(){ $re_openid = $this->_pg('re_openid'); $inputObj

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

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

  • 基于PHP微信红包的算法探讨

    突发奇想给校友微信群发了红包,我设定红包总额为10元,支持28个人随机领取. 于是一个有趣的结果出现了: A 领取了 0.26元 B 领取了 0.29元 C 领取了 0.02元 D 领取了 0.56元 E 领取了 0.64元 -- 微信是采用什么样的算法做到的?简单百度了下,目前尚未有官方的说明,仅仅在知乎里有一个较为热门的讨论,链接戳这里,不过他们讨论的太过于深入,有掉坑之嫌. 我按照自己的逻辑尝试了下,这个算法需要满足以下几点要求: 1.每个人都要能够领取到红包: 2.每个人领取到的红包金额

  • PHP仿微信发红包领红包效果

    近期项目需要在聊天的基础上新增红包功能,需求:仿微信(不含留言),但只能使用余额发红包.于是多次使用微信红包,了解各种交互界面及业务需求,如展示信息.分类(个人,群普通,群拼手气).个数限制(100).金额限制(200).过期时间(24小时)等等,然后着手开发,下面提及的基本全是提供给app端的接口,毕竟我是phper. 一.设计数据表如下 CREATE TABLE `red_packet` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `us

  • php生成微信红包数组的方法

    1.1. 源代码 <?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 -

  • JS生成随机打乱数组的方法示例

    本文实例讲述了JS生成随机打乱数组的方法.分享给大家供大家参考,具体如下: 一.比较乱的排序方法 function fnLuanXu(num) { var aLuanXu=[]; for (var i = 0; i < num; i++) { aLuanXu[i] = i; } for (var i = 0; i < num; i++) { var iRand = parseInt(num * Math.random()); var temp = aLuanXu[i]; aLuanXu[i]

  • Python动态生成多维数组的方法示例

    本文实例讲述了Python动态生成多维数组的方法.分享给大家供大家参考,具体如下: 多维数组其实就是多个一维数组的嵌套,Python中有原生的list,类似一个动态数组. 所以动态生成多维数组的思想就是在list中动态嵌套添加list. 下面代码生成一个一个3×3×2的三维数组: # coding:utf-8 # 使用Python3中的print函数 from __future__ import print_function arr = [] # 基本思想是在list中动态添加list,每个li

  • NumPy 如何生成多维数组的方法

    Python现在是最热门的人工智能语言,各种工具的支持如Google的Tensorflow,都是首选支持Python的. 但是,与R语言不同,Python语言设计时,并没有考虑对于矩阵运算,统计计算等功能做专项支持.于是我们需要NumPy库来补足这一能力上的不足. NumPy是Python的著名扩展库,相当于Python中的MATLAB. Numpy 中,ndarray 类具有六个参数,它们分别为: shape:数组的形状. dtype:数据类型. buffer:对象暴露缓冲区接口. offse

  • 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 = (

  • PHP实现微信红包金额拆分试玩的算法示例

    本文介绍了PHP实现微信红包金额拆分试玩的算法示例,分享给大家,有兴趣的可以看一下: <?php // 新年红包金额拆分试玩 class CBonus { public $bonus;//红包 public $bonus_num;//红包个数 public $bonus_money;//红包总金额 public $money_single_max;//单个红包限额 public function __construct(){ $this->bonus_num = 10; $this->b

  • Python的多维空数组赋值方法

    Python里面的list.tuple默认都是一维的. 创建二维数组或者多维数组也是比较简单. 可以这样: list1 = [1,2,] list1.append([3,4,]) 可以这样: list2 = [1,2,[3,4,],] 还可以这样: list3 = [1,2] list3.insert(2, [3,4]) 比较特殊的情况是: list0 = [] list0.append([]) 然后想给二维数组list0的第一个元素赋值.直接写list0[0][0]是会被编译器报错的. 那怎么

  • python中list*n生成多维数组与for循环生成多维数组的区别说明

    目录 list*n生成多维数组与for循环生成多维数组的区别 1.从一个问题说起 2.正确的方式 如何动态生成多维数组 下面代码生成一个一个3×3×2的三维数组 list*n生成多维数组与for循环生成多维数组的区别 本文主要介绍生成二维数组的方法,同时解释使用list * n 方式所存在的问题. 1.从一个问题说起 先看一段代码: list0 = [1,2,3] list1 = [list0] * 3 print('list1 is :',list1) list1[0][0] = 999 pr

  • PHP微信红包生成代码分享

    本文实例为大家分享了PHP微信公众号自动发送红包API代码,分享给大家供大家参考.具体如下: 贴出核心接口代码至于数据自己填写,接口测试OK wechat_packet.php <!--?php /** * 发送红包接口 * Created by PhpStorm. * User: ADKi * Date: 2016/4/25 0025 * Time: 15:25 */ class wechat_packet{ private $url = 'https://api.mch.weixin.qq.

  • PHP微信公众号开发之微信红包实现方法分析

    本文实例讲述了PHP微信公众号开发之微信红包实现方法.分享给大家供大家参考,具体如下: 这几天遇到了一个客户 要给他们的微信公众平台上添加微信现金红包功能,是个二次开发的功能,顺手百度一下,原来不复杂.就着手开发功能了.现将开发的过程和需求贴出来分享一下: 一.需求: 粉丝通过在客户的公众平台点击他们公司的订单,然后给这个订单返现五元,发到订单的这个微信号上. 二.开发想法: 1:先拿到关注这个粉丝的openid,openid是关注某个公众号的微信标识,这样就可以定位到这个人是订单的操作者了.

随机推荐