php递归组合排列函数怎么写?
本文介绍了php递归组合排列函数怎么写?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
php数字递归组合并排列:
$a="123,45,6789,...";//每段数字位数不限,如果是4段数字,得到的组合就是4位,以此类推
需要得到组合数组:
6,4,1
6,4,2
6,4,3
6,5,1
6,5,2
6,5,3
7,4,1
7,4,2
7,4,3
7,5,1
7,5,2
7,5,3
8,4,1
8,4,2
8,4,3
8,5,1
...
求php递归函数
解决方案
function recursion($groups, $echo = '')
{
$current = array_pop($groups);
$end = empty($groups);
$echo .= $echo ? ',' : '';
foreach (str_split($current) as $item) {
$rEcho = $echo . $item;
if ($end) {
echo $rEcho . "\n";
} else {
recursion($groups, $rEcho);
}
}
}
recursion(explode(',', '123,45,6789'));
这篇关于php递归组合排列函数怎么写?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文