1 echo "<pre>"; 2 3 4 /*[ 5 6 合并多个数组为一维数组,键值不变 7 被合并的数组维数不限 8 $params = array($arr1,$arr2,$arr3,...); 9 10 ]*/ 11 12 function multiArrToOneArrWithKeepKeys($params = array()){ 13 if(empty($params) === TRUE) 14 return array(\'msg\'=>\'nothing with array\'); 15 16 $keys = array(); 17 $vals = array(); 18 19 $params = multiArrToTwoArr($params); 20 21 foreach($params as $key => $val){ 22 23 foreach($val as $k => $v){ 24 $keys[] = $k; 25 $vals[] = $v; 26 } 27 } 28 29 return array_combine($keys,$vals); 30 31 } 32 33 34 function multiArrToTwoArr($params =array()){ 35 static $array ; 36 37 if(is_array($params)){ 38 foreach($params as $k=>$p){ 39 if(is_array($p)) 40 multiArrToTwoArr($p); 41 else 42 $array[] = array($k=>$p); 43 } 44 } 45 46 return $array; 47 48 } 49 50 51 52 53 54 55 56 57 $in_param = array( 58 \'今天1\'=>\'今天\', 59 \'今天2\'=>\'今天\', 60 \'今天3\'=>\'今天\', 61 \'今天4\'=>\'今天\', 62 array( 63 \'明天1\'=>\'明天\', 64 \'明天2\'=>\'明天\', 65 \'明天3\'=>\'明天\', 66 \'明天4\'=>\'明天\', 67 array( 68 \'后天1\'=>\'后天\', 69 \'后天2\'=>\'后天\', 70 \'后天3\'=>\'后天\', 71 \'后天4\'=>\'后天\', 72 array( 73 \'大后天1\'=>\'大后天\', 74 \'大后天2\'=>\'大后天\', 75 \'大后天3\'=>\'大后天\', 76 \'大后天4\'=>\'大后天\' 77 ) 78 ) 79 ) 80 ); 81 82 //$rrt = (multiArrToTwoArr($in_param)); 83 84 //print_r($rrt); 85 86 $rst = multiArrToOneArrWithKeepKeys($in_param); 87 88 89 90 91 print_r($rst);