主页 > 知识库 > PHP实现微信红包金额拆分试玩的算法示例

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

热门标签:地图标注专员怎么样 房产中介用的是什么外呼系统 宁波外呼营销系统 上海做外呼线路的通信公司 辽宁ai电销机器人价格 电话机器人销售主要负责什么 长沙做地图标注公司 福建银行智能外呼系统价格 四川保险智能外呼系统供应商

本文介绍了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));//剩余金额不够分时,把剩余金额的一半作为备用金
      }
      $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微信红包的算法探讨
  • php仿微信红包分配算法的实现方法
  • PHP 生成微信红包代码简单
  • php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
  • PHP微信红包API接口
  • php实现的微信红包算法分析(非官方)

标签:澳门 佛山 宿迁 深圳 工商登记 延安 宜春 常德

巨人网络通讯声明:本文标题《PHP实现微信红包金额拆分试玩的算法示例》,本文关键词  PHP,实现,微信,红包,金额,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《PHP实现微信红包金额拆分试玩的算法示例》相关的同类信息!
  • 本页收集关于PHP实现微信红包金额拆分试玩的算法示例的相关信息资讯供网民参考!
  • 推荐文章