<meta charset="utf-8">
<?php
// 新年红包金额拆分试玩class CBonus
{public $bonus;//红包public $bonus_num;//红包个数public $bonus_money;//红包总金额public $money_single_max;//单个红包限额public function __construct(){$this->bonus_num = 10;$this->bonus_money = 200;$this->money_single_max = 60;}private function randomFloat($min = 0, $max = 1) {$mt_rand = mt_rand();$mt_getrandmax = mt_getrandmax();echo 'mt_rand=' . $mt_rand . ', mt_getrandmax=' . $mt_getrandmax . '<hr/>';return $min + $mt_rand / $mt_getrandmax * ($max - $min);}//计算public function compute(){$this->bonus = array();$bonus_money_temp = $this->bonus_money;$money_single_max = $this->money_single_max;$i = 1;while($i < $this->bonus_num){if ($money_single_max > $bonus_money_temp){$money_single_max = floatval(sprintf("%01.2f", $bonus_money_temp / 2));//剩余金额不够分时,把剩余金额的一半作为备用金
            }$bonus_money_rad = $this->randomFloat(0.01, $money_single_max);//一个红包随机金额 最小的1分钱$bonus_money_rad = floatval(sprintf("%01.2f", $bonus_money_rad));$bonus_money_temp = $bonus_money_temp - $bonus_money_rad ;//待分配的总剩余金额$bonus_money_temp = floatval(sprintf("%01.2f", $bonus_money_temp));$this->bonus[] = $bonus_money_rad;//echo $bonus_money_rad . ',' . $bonus_money_temp . '<hr/>';$i++;}$this->bonus[] = $bonus_money_temp;//分配剩余金额给最后一个红包
    }//打印public function output(){$total = 0;foreach($this->bonus as $k => $v){echo '红包' . ($k+1) . '=' . $v . '<br/>';$total += $v;}echo '红包总金额:'.$total;}
}$CBonus = new CBonus();
$CBonus->compute();
$CBonus->output();
?>

演示结果:

红包1=12.36
红包2=24.37
红包3=42.71
红包4=36.92
红包5=25.84
红包6=23.17
红包7=15.92
红包8=1.35
红包9=7.75
红包10=9.61
红包总金额:200

红包1=24.59
红包2=17.66
红包3=29.67
红包4=32.34
红包5=12.67
红包6=37.15
红包7=17.41
红包8=15.23
红包9=6.13
红包10=7.15
红包总金额:200

转载于:https://www.cnblogs.com/imbin/p/3536276.html

一个小玩意 PHP实现微信红包金额拆分试玩相关推荐

  1. php 微信红包瓜分,PHP实现微信红包金额拆分试玩的算法示例

    本文介绍了PHP实现微信红包金额拆分试玩的算法示例,分享给大家,有兴趣的可以看一下: // 新年红包金额拆分试玩 class CBonus { public $bonus;//红包 public $b ...

  2. 红包拆分算法 php,关于PHP实现微信红包金额拆分的算法

    本篇文章主要介绍了PHP实现微信红包金额拆分试玩的算法示例,内容挺不错的,现在分享给大家,也给大家做个参考. 本文介绍了PHP实现微信红包金额拆分试玩的算法示例,分享给大家,有兴趣的可以看一下: ?p ...

  3. php分割金额_PHP实现微信红包金额拆分及原理解析

    微信红包有个好玩的地方,比如可以将 10 元放入红包,设置红包数量为 10 个.然后系统会自动将这 10 元拆分,有的人可能领到了几块钱,而有的人就只领到了几分钱. 实现方法:function get ...

  4. php分割金额_PHP实现红包金额拆分算法案例详解

    这次给大家带来PHP实现红包金额拆分算法案例详解,PHP实现红包金额拆分算法的注意事项有哪些,下面就是实战案例,一起来看一下.<?php // 新年红包金额拆分试玩 class CBonus { ...

  5. php数组10000分割1000_PHP切割整数工具类似微信红包金额分配的思路详解

    主要代码:NumberSlicing.php 思路:将数字按精度放大倍数,比如切割数字1,切割的份数是10,精度是0.01,则将1放大100 X 10倍,然后再来对加了1000倍权重后的值进行切割.切 ...

  6. 免费制作一个属于你的微信红包封面

    春节即将到来,大家免不了发红包,微信刚开通了个人自作红包封面的权限,无需花钱,简单几个步骤,就能拥有一个自己专属的微信红包封面,是不是特酷 1 制作条件 微信版本为最新版本:安卓手机为8.0.1版本, ...

  7. php 随机钱数,PHP 仿微信红包金额随机

    博主寒冰最近闲来无事.就想研究一下微信红包的金额随机算法.早在微信红包刚出来的时候就研究过.始终不得要领.后来,通过查阅诸多资料.听说要实现"正态分布".这个理论的东西不想深挖.恰 ...

  8. 微信红包金额分配的算法

    转载: http://www.open-open.com/lib/view/open1430473257443.html https://timyang.net/architecture/wechat ...

  9. php实现微信红包金额随机分配的函数

    <?php /*参数请自己校验$money 准备发送多少钱(分)$n 个数$rate 控制红包的系数 */ function makeRedPacket($money, $n, $rate = ...

最新文章

  1. python更新pip失败-新手求助, python 升级 pip 失败
  2. C#中怎样获取System.Drawing.Color的所有颜色对象并存到数组中
  3. python 3 廖雪峰博客笔记(三) 命令行模式与交互模式
  4. java相对目录_java相对目录和绝对目录解析
  5. SQLite学习总结(1)——SQLite简介及快速入门
  6. php读取js为文本,PHP / JS文本差异
  7. linux 清除内存和Cache方法
  8. php utf8 正则中文表达式
  9. 圆孔夫琅禾费衍射MATLAB程序,模拟夫琅禾费衍射的matlab源代码
  10. SharedPreferences存储图片对象与获取
  11. 【高级数据结构】线段树 | 求区间和
  12. php在文本框显示图片,多张图片上传后在页面上可以显示图片,在文本框显示地址怎么解决啊...
  13. lancet: 一个全面、高效、可复用的go语言工具函数库
  14. webpack中文官网
  15. 大专毕业,0基础转行C++程序员一个月后,我后悔了
  16. GitHub高赞!PyTorch Lightning 你值得拥有!
  17. 芯片和集成电路的区别和联系
  18. 《心智社会》—马文·明斯基
  19. TCP/IP协议模型详解六数据传输过程
  20. 铁道部新客票系统设计(三)

热门文章

  1. 工具分享:ideaIU-2019.2.4_windows正版最新(附下载链接)
  2. Java:实现Ternary search三元搜索算法(附完整源码)
  3. 计算机基础应用在线模拟考试,计算机应用基础模拟试卷一与答案.pdf
  4. 【技术干货】跨境茶话会第4期丨响应式编程的应用
  5. 面对一直在房价洼地的长沙,我不后悔十几年前逃离长沙
  6. Java之下载word文档,linux视频监控
  7. 睢阳区中小学计算机提升培训,商丘市中小学电脑制作活动培训顺利举行
  8. 2020微信对话截图一件生成神器
  9. AJAX-Cache:一款好用的Ajax缓存插件
  10. 网易卡搭python怎么用_python爬取+使用网易卡搭作品数量api