wenzhilin
 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);

 

分类:

技术点:

相关文章: