首页 > 代码库 > PHP随机红包算法
PHP随机红包算法
2017年1月14日 14:19:14 星期六
简便起见, 用整数, 假设每个红包里边有x个糖豆
一种: 防微信, 每个红包的最大金额是: (剩余金额/剩余红包数)*2
1 function randBean($total_bean, $total_packet) 2 { 3 $cp_total_bean = $total_bean; 4 $cp_total_packet = $total_packet; 5 6 $arr = []; 7 $min = 1; 8 while($total_packet > 1){ 9 $max = floor($total_bean / $total_packet) * 2;10 $bean = rand($min, $max);11 12 $arr[] = $bean;13 14 $total_bean -= $bean;15 $total_packet--;16 }17 18 $arr[] = $total_bean;//剩余的豆作为最后一个红包19 if ($total_bean == 0) { //防止出现最后一个红包金额为0的情况, 递归, 10万次中大概有1000多次出现这种情况20 return randBean($cp_total_bean, $cp_total_packet);21 } else {22 return $arr;23 }24 }
第二种, 对其简单扩展一下, 每个红包的最大金额是: (剩余金额/剩余红包数)*3; 但是要求每次最少发2个红包
PHP随机红包算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。