首頁 >後端開發 >php教程 >php遞歸組合排列函數怎麼寫?

php遞歸組合排列函數怎麼寫?

WBOY
WBOY原創
2016-09-14 09:41:311631瀏覽

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>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn