多维数组的全排列实现 递归法

版权声明: https://blog.csdn.net/u012322399/article/details/86609992

直接上代码

<?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);  
    }  
}

结果:

猜你喜欢

转载自blog.csdn.net/u012322399/article/details/86609992