php 多维数组 转变为 一维数组 键值不变
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);
----走出会议室,只有执行力
解决问题是衡量能力的标准。