多維數組的全排列實現 遞歸法

直接上代碼

<?php
    $arr = array(  
    'a'=>array('a1','a2','a3'),  
    'b'=>array('b1','b2','b3'),  
    'c'=>array('c1','c2','c3'),
    'd'=>array('d1','d2','d3'),
        //..........多行......
);  
  
$answer = fun($arr);
echo "<pre>";
print_r($GLOBALS["res"]);
die();

function fun($arr, $tmp = array())
{
    foreach(array_shift($arr) AS $k=> $v)
    {
        $tmp[]  = $v;
        if($arr)  
        {  
            fun($arr, $tmp);  
        }  
        else  
        {  
            $GLOBALS["res"][] = $tmp;
        }  
        array_pop($tmp);  
    }  
}

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章