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 相关文章推荐
phpBB BBcode处理的漏洞
Oct 09 PHP
ThinkPHP自动验证失败的解决方法
Jun 09 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
在PHP中使用redis
Nov 04 PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 PHP
php使用ob_flush不能每隔一秒输出原理分析
Jun 02 PHP
php简单判断两个字符串是否相等的方法
Jul 13 PHP
thinkphp3.x中session方法的用法分析
May 20 PHP
PHP中的密码加密的解决方案总结
Oct 26 PHP
Laravel事件监听器用法实例分析
Mar 12 PHP
PHP中number_format()函数的用法讲解
Apr 08 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
拼音码表的生成
2006/10/09 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
2012/07/26 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python中的单行、多行、中文注释方法
2018/07/19 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
高三自我鉴定
2013/10/23 职场文书
上班迟到检讨书
2014/01/10 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
Django与数据库交互的实现
2021/06/03 Python
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android