多维数组的全排列实现 递归法
直接上代码
<?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);
}
}
结果: