• php微信红包算法



    微信红包算法.php

    
    /**生成红包的函数*/
    function getRandMoney($totalMoney, $totalPeople=2, $miniMoney=1){
     
            $randRemainMoney = $totalMoney - $totalPeople * $miniMoney;//剩余需要随机的钱数
            return _getRandMoney($randRemainMoney, $totalPeople, $miniMoney);
        }
     
    /**红包生成的逻辑代码*/
    function _getRandMoney($totalMoney, $totalPeople, $miniMoney){
     
            $returnMessage = array('status'=>1, 'data'=>NULL);
            if($totalMoney > 0){
                $returnMessage['data'] = _randMoney($totalMoney, $totalPeople, $miniMoney);
            }elseif($totalMoney == 0){
                $returnMessage['data'] = array_fill(0, $totalPeople, 1);
            }else{
                $returnMessage['status'] = -1;
                $returnMessage['data'] = '参数传递有误,生成红包失败';
            }
     
            return $returnMessage;
        }
     
    /*参数无误,开始生成对应的红包金额*/
    function _randMoney($totalMoney, $totalPeople, $miniMoney){
     
            $data = array_fill(0, $totalPeople, $miniMoney);
            if($totalPeople > 1){
                foreach($data as $k => $v){
                    if($k == $totalPeople -1){
                        $data[$k] = $totalMoney + $v;
                        break;
                    }else {
                        if($totalMoney == 0) break;
                        $randMoney = rand(0, $totalMoney);
                        $totalMoney -= $randMoney;
                        $data[$k] = $randMoney + $v;
                    }                
                }
            }
            return $data;
        }
    
    
  • 相关阅读:
    [luogu]P1852跳跳棋
    StdDraw绘图
    Java-Timer-Stop
    人之初
    单例模式--延时初始化
    ubuntu忘记密码
    QT5 TK1 串口通信
    金秋十月
    级联分类器训练-----OpenCV
    Hu矩SVM训练及检测-----OpenCV
  • 原文地址:https://www.cnblogs.com/lalalagq/p/10203131.html
Copyright © 2020-2023  润新知