1 <?php
2 function arrange($arr, $i, $res)
3 {
4 if (is_array($arr)) {
5 if (is_array($arr[$i])) {
6 foreach ($arr[$i] as $k => $v) {
7 if(is_array($v)){
8 foreach($v as $k1=>$v1){
9 if(is_array($v1)){
10 //这边怎么写????再不能耽误时间了,,,,,,不会写了
11 }else{
12 $res[$i] = $v1;
13 //如果数组排列到底层则输出
14 if ($i + 1 >= count($arr)) {
15 $a = implode("", $res);
16 echo $a . "\n";
17 } else {
18 arrange($arr, $i + 1, $res);
19 }
20 }
21 }
22 }else{
23 $res[$i] = $v;
24 //如果数组排列到底层则输出
25 if ($i + 1 >= count($arr)) {
26 $a = implode("", $res);
27 echo $a . "\n";
28 } else {
29 arrange($arr, $i + 1, $res);
30 }
31 }
32 }
33 } else {
34 $res[$i] = $arr[$i];
35 if ($i + 1 >= count($arr)) {
36 $a = implode("", $res);
37 echo $a . "\n";
38 } else {
39 arrange($arr, $i + 1, $res);
40 }
41 }
42 } else {
43 $res[$i] = $arr;
44
45 }
46 }
47
48 $arr = ['A',
49 [1, 3, ['a', [0,9] ] ],
50 ];
51 arrange($arr, 0, [0]);
52 /*
53 * 第一个参数是要排列,第二个是初始化排列数组的下标,必须为0否则会出错,
54 * 第三个参数初始化存储打印元素的数组也必须为[0]
55 */