Maison >développement back-end >tutoriel php >php递归组合排列函数怎么写?

php递归组合排列函数怎么写?

WBOY
WBOYoriginal
2016-09-14 09:41:311631parcourir

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递归函数

回复内容:

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递归函数

<code>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'));</code>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn