php 从指定数字中获取随机组合的简单方法(推荐)


Posted in PHP onApril 05, 2017

例如:给定数字100,需要随机获取3个组成这个数字的组合,例如70,20,10

代码如下:

<?php
/**
 * 获取指定数字的随机数字组合
 * @param Int  $var 数字
 * @param Int  $num 组合这个数字的数量
 * @return Array
 */
function getNumGroups($var, $num){

  // 数量不正确
  if($var<$num){
    return array();
  }

  $total = 0;
  $result = array();

  for($i=1; $i<$num; $i++){
    $tmp = mt_rand(1, $var-($num-$i)-$total);
    $total += $tmp;
    $result[] = $tmp;
  }

  $result[] = $var-$total;

  return $result;

}

// demo
$result = getNumGroups(100, 3);
print_r($result);

?>

输出:

Array
(
  [0] => 42
  [1] => 25
  [2] => 33
)

以上这篇php 从指定数字中获取随机组合的简单方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
PHP编程函数安全篇
Jan 08 PHP
浅析PHP程序设计中的MVC编程思想
Jul 28 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
golang与php实现计算两个经纬度之间距离的方法
Jul 22 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
php微信开发之谷歌测距
Jun 14 PHP
PHP实现微信退款的方法示例
Mar 26 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 #PHP
通过php动态传数据到highcharts
Apr 05 #PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
Apr 04 #PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 #PHP
php实现用户登陆简单实例
Apr 04 #PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 #PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 #PHP
You might like
第九节 绑定 [9]
2006/10/09 PHP
最简单的PHP程序--记数器
2006/10/09 PHP
php whois查询API制作方法
2011/06/23 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
php错误日志简单配置方法
2016/07/11 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
Node.js实现数据推送
2016/04/14 Javascript
vuex提交state&amp;&amp;实时监听state数据的改变方法
2018/09/16 Javascript
express.js中间件说明详解
2019/03/19 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python中遍历文件的3个方法
2014/09/02 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
pandas的qcut()方法详解
2019/07/06 Python
python数组循环处理方法
2019/08/26 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
浅析Python 责任链设计模式
2020/09/11 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
匡威英国官网:Converse英国
2018/12/02 全球购物
俄语翻译实习生的自我评价分享
2013/11/06 职场文书
工程业务员岗位职责
2013/12/31 职场文书
工厂仓管员岗位职责
2014/01/01 职场文书
社区端午节活动方案
2014/01/28 职场文书
python glom模块的使用简介
2021/04/13 Python
在Django中使用MQTT的方法
2021/05/10 Python
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS