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

 更新时间:2017年04月05日 09:35:41   投稿:jingxian  
下面小编就为大家带来一篇php 从指定数字中获取随机组合的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

例如:给定数字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中fopen不能创建中文文件名文件的问题

    浅谈php中fopen不能创建中文文件名文件的问题

    下面小编就为大家带来一篇浅谈php中fopen不能创建中文文件名文件的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • php实现的mysqldb读写分离操作类示例

    php实现的mysqldb读写分离操作类示例

    这篇文章主要介绍了php实现的mysqldb读写分离操作类,结合实例形式分析了php针对数据库的读写分离操作实现技巧,并给出了该封装类的具体使用方法,需要的朋友可以参考下
    2017-02-02
  • Yii配置与使用memcached缓存的方法

    Yii配置与使用memcached缓存的方法

    这篇文章主要介绍了Yii配置与使用memcached缓存的方法,简单分析了mencached的下载、安装、Yii配置及简单使用技巧,需要的朋友可以参考下
    2016-07-07
  • 详解PHP序列化反序列化的方法

    详解PHP序列化反序列化的方法

    这篇文章主要介绍了PHP序列化反序列化的方法,在一些开源的php源代码中,我们经常看到一些配置文件里面存放的是一些类似带有格式的变量名称和值,想知道这是为什么,请阅读下文
    2015-10-10
  • PHP学习之数组的定义和填充

    PHP学习之数组的定义和填充

    先了解一下数组,数组就是把一组数据按顺序放在一起。PHP的数组和其它的语言数组有一点点不同:第一,保存的数据是可以是任何类型的;第二,数组的索引可以是数字,也可以是字符串。
    2011-04-04
  • php自定义扩展名获取函数示例

    php自定义扩展名获取函数示例

    这篇文章主要介绍了php自定义扩展名获取函数,结合实例形式分析了php针对文件扩展名的截取操作实现技巧,需要的朋友可以参考下
    2016-12-12
  • php set_time_limit(0) 设置程序执行时间的函数

    php set_time_limit(0) 设置程序执行时间的函数

    一个简单的例子,在网页里显示1500条语句,如果未设置失效时间,则程序执行到791时结束了,如果把 set_time_limit(0); 前的注释符//去除,则程序直到1才结束。
    2010-05-05
  • php导出生成word的方法

    php导出生成word的方法

    这篇文章主要介绍了php导出生成word的方法,结合实例形式分析了php查询数据库及导出生成word文档的具体步骤与相关技巧,需要的朋友可以参考下
    2015-12-12
  • php,ajax实现分页

    php,ajax实现分页

    之前用php写好了个分页程序,今天试着结合ajax实现这个功能,成功了。哈哈,代码不难写,但写好之后测试发现出了,然后又调试了好段时间才正确。深感开发人员的时间大部分都是花在调试代码上的。
    2008-03-03
  • php 微信开发获取用户信息如何实现

    php 微信开发获取用户信息如何实现

    这篇文章主要介绍了php 微信开发获取用户信息如何实现的相关资料,需要的朋友可以参考下
    2016-12-12

最新评论