• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 4年前 (2022-01-22) 21次浏览 已收录 0个评论

本篇文章主要介绍了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->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));//剩余金额不够分时,把剩余金额的一半作为备用金      }      $bon<i style="color:transparent">本#文来源gaodai$ma#com搞$$代**码网$</i><button>搞代gaodaima码</button>us_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实现微信红包金额拆分的算法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于PHP实现微信红包金额拆分的算法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址