php微信红包算法
2024-10-20 16:22:59
微信红包算法.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;
}
最新文章
- MySQL数据库和InnoDB存储引擎文件
- Struts2入门(七)——Struts2的文件上传和下载
- Java高级规范之二
- WTF Forms – 使用 CSS 实现用户体验更好的表单
- 微信支付redirect_uri参数错误
- WSDL 文档解析
- *MySQL卸载之后无法重装,卡在Apply security settings:Error Nr.1045
- 如何调试libc++abi.dylib handler threw exception错误
- Unity monodev环境搭建
- Mongodb在Windows下安装及配置 【转】
- java构造方法的不同
- sql表连接的几种方式
- Cocos2d-x CCTableView实现列表
- Angular1.x使用小结
- Python Django 1.Hello Django
- Netty自定义协议解析原理与应用
- Android 最简单的测试UI卡顿
- Mybatis的原理与JVM内存结构(面试题)
- P5290 [十二省联考2019]春节十二响
- Mysql数据库异常
热门文章
- 03-----Bootstrap的介绍
- 3305: Hero In Maze II (优先队列+bfs)
- [备忘]java 静态块、非静态块、静态函数、构造函数 执行顺序
- kickstart2019 round_A B. Parcels
- JS中关于clientWidth offsetWidth scrollWidth 等的区别
- 【干货】JavaScript DOM编程艺术学习笔记10-12【完】
- Unicode字符集
- @Enable*注解的工作原理
- 报错:'byte' does not name a type
- 笔记 Activator.CreateInstance(Type)