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;
    }

www.phpzy.comtrue/php/40172.htmlTechArticle微信红包算法-PHP源码 微信红包算法 /**生成红包的函数*/function getRandMoney($totalMoney, $totalPeople=2, $miniMoney=1){ $randRemainMoney = $totalMoney - $totalPeople * $miniMoney;//剩余需要随机的钱数 return _get...

相关文章

PHP之友评论

今天推荐