国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php模擬微信紅包

2019-11-06 08:10:24
字體:
來源:轉載
供稿:網友

方式1:

/** * [weixinRandBonus 模擬微信紅包] * @param  integer $bonus_total [紅包總金額] * @param  integer $bonus_count [紅包個數] * @param  integer $bonus_type  [紅包類型 1 手氣紅包  0 普通紅包] * @return [array]              [返回紅包] */function weixinRandBonus($bonus_total=0, $bonus_count=3, $bonus_type=1){     $bonus_items    = array(); // 建一個存儲紅包結果數組     $bonus_balance  = $bonus_total; // 每次分完之后的余額     $bonus_avg      = number_format($bonus_total/$bonus_count, 2); // 平均每個紅包多少錢     $i              = 0;     while($i<$bonus_count){         if($i<$bonus_count-1){             $rand           = $bonus_type?(rand(1, $bonus_balance*100-1)/100):$bonus_avg; // 根據紅包類型計算當前紅包的金額             $bonus_items[]  = $rand;             $bonus_balance  -= $rand;         }else{             $bonus_items[]  = $bonus_balance; // 最后一個紅包直接承包最后所有的金額,保證發出的總金額正確         }         $i++;     }     return $bonus_items; } 

// 發3個拼手氣紅包,總金額是100元 $bonus_items    = weixinRandBonus(100, 10, 1); // 查看生成的紅包 var_dump($bonus_items); // 校驗總金額是不是正確,看看微信有沒有坑我們的錢 var_dump(array_sum($bonus_items)); 

方式2:

/** * [weixinSendRandBonus 模擬微信紅包] * @param  integer $total [紅包總金額] * @param  integer $count [紅包個數] * @param  integer $type  [紅包類型 1 手氣紅包  0 普通紅包] * @return [array]        [返回紅包] */function weixinSendRandBonus($total=0, $count=3, $type=1){     if($type==1){         $input          = range(0.01, $total, 0.01);         if($count>1){             $rand_keys  = (array) array_rand($input,  $count-1);             $last       = 0;             foreach($rand_keys as $i=>$key){                 $current    = $input[$key]-$last;                 $items[]    = $current;                 $last       = $input[$key];             }         }         $items[]        = $total-array_sum($items);     }else{         $avg            = number_format($total/$count, 2);         $i              = 0;         while($i<$count){             $items[]    = $i<$count-1?$avg:($total-array_sum($items));             $i++;         }     }     return $items; } 

運行:

// 發10個拼手氣紅包,總金額是100元 $bonus_items    = weixinSendRandBonus(100, 10, 1); // 查看生成的紅包 var_dump($bonus_items); // 校驗總金額是不是正確,看看微信有沒有坑我們的錢 var_dump(array_sum($bonus_items)); 

有什么好的算法可以再下面給我留言.謝謝!歡迎提意見.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥滨县| 永康市| 家居| 海丰县| 泸定县| 武强县| 石屏县| 新源县| 马关县| 青冈县| 衡阳县| 治县。| 平山县| 伊金霍洛旗| 博白县| 江川县| 景洪市| 天峻县| 财经| 桂林市| 巴林右旗| 平谷区| 濮阳县| 房产| 嘉黎县| 陇西县| 漠河县| 永泰县| 论坛| 怀仁县| 石柱| 昔阳县| 普安县| 花莲市| 台北县| 东明县| 黔西| 正定县| 东兴市| 尼勒克县| 民权县|