2012-02-23 113 views
2

我有以下阵列,如何将数组数组的数组合并到一个数组中?

Array 
(
    [14289] => Array 
     (
      [0] => Ability||STROKE CLINIC,Session||Session #3: Tues June 28th - Fri July 8th (9-2:00PM),Time||#1 only: 2pm,child1||FC 
      [1] => Ability||N/S++,Session||Session #3: Tues June 28th - Fri July 8th (9-2:00PM),Time||#1 only: 2pm,child2||SC 
      [2] => Ability||B-,Session||Session #3: Tues June 28th - Fri July 8th (9-2:00PM),Time||#1 only: 2pm,child3||TC 
     ) 

    [14279] => Array 
     (
      [0] => Ability||STROKE CLINIC,Session||Session #1: Tues May 31st - Fri June 10th (1-5:30PM),Time||#1 only: 1pm,child1||FC 
      [1] => Ability||N/S++,Session||Session #1: Tues May 31st - Fri June 10th (1-5:30PM),Time||#1 only: 1pm,child2||SC 
      [2] => Ability||B-,Session||Session #1: Tues May 31st - Fri June 10th (1-5:30PM),Time||#1 only: 1pm,child3||TC 
     ) 

    [14284] => Array 
     (
      [0] => Ability||STROKE CLINIC,Session||Session #2: Tues June 14th - Fri June 24th (9-2:00PM),Time||#1 only: 1:30pm,child1||FC 
      [1] => Ability||N/S++,Session||Session #2: Tues June 14th - Fri June 24th (9-2:00PM),Time||#1 only: 1:30pm,child2||SC 
     ) 

) 

我需要这个数组如下,

Array 
(


      [0] => Ability||STROKE CLINIC,Session||Session #3: Tues June 28th - Fri July 8th (9-2:00PM),Time||#1 only: 2pm,child1||FC 
      [1] => Ability||N/S++,Session||Session #3: Tues June 28th - Fri July 8th (9-2:00PM),Time||#1 only: 2pm,child2||SC 
      [2] => Ability||B-,Session||Session #3: Tues June 28th - Fri July 8th (9-2:00PM),Time||#1 only: 2pm,child3||TC 
      [3] => Ability||STROKE CLINIC,Session||Session #1: Tues May 31st - Fri June 10th (1-5:30PM),Time||#1 only: 1pm,child1||FC 
      [4] => Ability||N/S++,Session||Session #1: Tues May 31st - Fri June 10th (1-5:30PM),Time||#1 only: 1pm,child2||SC 
      [5] => Ability||B-,Session||Session #1: Tues May 31st - Fri June 10th (1-5:30PM),Time||#1 only: 1pm,child3||TC   
      [6] => Ability||STROKE CLINIC,Session||Session #2: Tues June 14th - Fri June 24th (9-2:00PM),Time||#1 only: 1:30pm,child1||FC 
      [7] => Ability||N/S++,Session||Session #2: Tues June 14th - Fri June 24th (9-2:00PM),Time||#1 only: 1:30pm,child2||SC 


) 

我怎样才能做到这一点?

+0

[转换多维数组成单一阵列]可能重复(http://stackoverflow.com/questions/6785355/convert-multidimensional-array-into-single-array) – hakre 2012-02-23 13:14:03

+0

'$平= call_user_func_array('array_merge',$ array);' – hakre 2012-02-23 13:22:32

回答

10
$result = array(); 
foreach($array as $item) { 
    $result = array_merge($result, $item); 
} 
+0

+1,它的最佳答案 – 2012-02-23 13:06:44

+0

它的效果很好。 – 2012-02-23 13:16:20

1
$new_arr = array(); 
array_walk_recursive($arr, function($item) use(&$new_arr) 
{ 
    $new_arr[] = $item; 
}); 
0

考虑到你的数组是:

$z = array(
       '14289' => 
       array('a', 
        'b', 
        'c' 
        ), 
       '14290' => 
       array('d', 
        'e', 
        'f' 
        ), 
       '14291' => 
       array('g', 
        'h', 
        'i' 
        ) 
      ); 

然后,

$y =array();// use a blank array to get your result 
array_map(function($a) use(&$y){ $y = array_merge($y,array_values($a)); },$z); 

var_dump($y); 
相关问题