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 */
时间: 2024-12-25 05:20:50