首页 > 学院 > 逻辑算法 > 正文

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

2020-03-22 20:00:19
字体:
来源:转载
供稿:网友
本篇文章主要介绍了PHP实现微信红包金额拆分试玩的算法示例,内容挺不错的,现在分享给大家,也给大家做个参考。

本文介绍了PHP实现微信红包金额拆分试玩的算法示例,分享给大家,有兴趣的可以看一下:

 ?php// 新年红包金额拆分试玩html' target='_blank'>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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

如何使用php实现快钱支付的功能

以上就是关于PHP实现微信红包金额拆分的算法的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表