您的位置:首页 > 编程语言 > PHP开发

php 从指定数字中获取随机组合的方法

2016-06-30 22:48 579 查看
例如:给定数字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 随机 组合 数字 方法