求PHP 数组的任意组合的算法函数

$arr=array('a1','b2','c3','d4','e5');求一个函数rank($arr,3),能求得任意3个元素的组合,能求得所有的三个元素的组合... $arr = array('a1','b2','c3','d4','e5');

求一个函数 rank($arr,3),能求得任意3个元素的组合,
能求得所有的三个元素的组合
展开
 我来答
匿名用户
2013-03-13
展开全部
function getRank($arr, $len=0, $str="") {

global $arr_getrank;
$arr_len = count($arr);
if($len == 0){
$arr_getrank[] = $str;
}else{
for($i=0; $i<$arr_len; $i++){
$tmp = array_shift($arr);
if (empty($str))
{
getRank($arr, $len-1, $tmp);
}
else
{
getRank($arr, $len-1, $str.",".$tmp);
}
// array_push($arr, $tmp);
}
}
}

测试:
$words = array('a1','b2','c3','d4','e5');
$arr_getrank = array();
getRank($words, 3);
print_r($arr_getrank);

输出:
Array
(
[0] => a1,b2,c3
[1] => a1,b2,d4
[2] => a1,b2,e5
[3] => a1,c3,d4
[4] => a1,c3,e5
[5] => a1,d4,e5
[6] => b2,c3,d4
[7] => b2,c3,e5
[8] => b2,d4,e5
[9] => c3,d4,e5
)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a19d193
2013-03-13 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1449万
展开全部
PHP自带函数
$rank = array_rand($arr, 3);
追问
非常感谢大神,我表述有误,我想取得所有三个元素的组合情况,并不是任意的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式