熱門文章

      最新文章

      PHP模擬微信拆紅包算法思路及實現代碼

      發布時間:2021-06-22 15:26:45

      PHP拆紅包算法
      邏輯比較簡單,傳入金額.和拆分的數量
      首先循環要拆分的數量,判斷如果是最后一個就把剩下的錢全部塞進去;
      如果不是,就取剩余的金額(第一次循環剩余的金額=總金額)除以剩下的次數,取得平均值,然后再隨機取最小的0.01 和平均值*2,把剩余的金額更新一下就行了。

      算法模擬微信拆紅包算法,但是這是提前計算拆分的數據保存的,微信是每次動態計算的。


      代碼如下:

      /**
           * 拆分紅包
           * @param SendRedPackageRequest $request
           * @return array
           */
          protected function spitMoney(SendRedPackageRequest $request)
          {
              $result = [];
              $reamingMoney = $request->money;
              for ($i = $request->count; $i >= 1; $i--) {
                  if ($i === 1) {
                      $result[] = round($reamingMoney, 2);
                      $reamingMoney = 0;
                  } else {
                      $average = round(bcdiv($reamingMoney, $i), 2);    //平均值
                      $amount = round(mt_rand(1, $average * 199) / 100, 2);
                      $reamingMoney = doubleval(bcsub($reamingMoney, $amount));
                      $result[] = round($amount, 2);
                  }
              }
              return $result;
          }


      返回頂部
      主站蜘蛛池模板: 亚州AV综合色区无码一区| 久久se精品一区精品二区| 一夲道无码人妻精品一区二区 | 国产成人av一区二区三区在线观看| 无码一区二区三区免费视频| 成人免费一区二区三区在线观看| 国产福利电影一区二区三区,免费久久久久久久精 | 国产综合一区二区在线观看| 日本不卡在线一区二区三区视频| 内射一区二区精品视频在线观看| 狠狠色综合一区二区| 日韩精品一区二区三区国语自制 | 无码aⅴ精品一区二区三区浪潮| 丰满人妻一区二区三区视频| 亚洲V无码一区二区三区四区观看| 美女视频一区二区| 国产丝袜视频一区二区三区| 乱码人妻一区二区三区| 变态调教一区二区三区| 国产成人精品一区二区三区免费| 狠狠色婷婷久久一区二区 | 午夜福利一区二区三区在线观看| 一区二区三区在线免费| 美女啪啪一区二区三区| 日美欧韩一区二去三区 | 久久久久人妻精品一区三寸蜜桃| 日韩在线视频不卡一区二区三区 | 一区二区三区波多野结衣| 日韩精品无码中文字幕一区二区 | 国产亚洲无线码一区二区 | 国产成人精品一区二区秒拍| 亚洲欧美成人一区二区三区| 成人乱码一区二区三区av| 色窝窝免费一区二区三区| 中文字幕VA一区二区三区| 国产免费私拍一区二区三区| 在线日产精品一区| 亚洲一区二区三区偷拍女厕| 老湿机一区午夜精品免费福利| 成人区人妻精品一区二区三区 | 久久国产精品一区免费下载|