2017-01-18 33 views
-1

在PHP我有一个像数组以下几点:合并数组数组,数组成以上

Array 
(
    [items] => Array 
     (
      [0] => Array 
       (
        [attr_1] => value 
        [attr_2] => value 
        [attr_3] => value 
        [other_array] => Array 
         (
          [attr_4] => value 
          [attr_5] => value 
          [attr_6] => value 
         ) 
        [attr_7] => value 
        [attr_8] => value 
       ) 

      [1] => Array 
       (
        [attr_1] => value 
        [attr_2] => value 
        [attr_3] => value 
        [other_array] => Array 
         (
          [attr_4] => value 
          [attr_5] => value 
          [attr_6] => value 
         ) 
        [attr_7] => value 
        [attr_8] => value 
       ) 
     ) 
) 

也许很简单,但它无法得到它的工作..我想合并other_array进入阵列上面,所以输出将变成:

Array 
(
    [items] => Array 
     (
      [0] => Array 
       (
        [attr_1] => value 
        [attr_2] => value 
        [attr_3] => value 
        [attr_4] => value 
        [attr_5] => value 
        [attr_6] => value 
        [attr_7] => value 
        [attr_8] => value 
       ) 

      [1] => Array 
       (
        [attr_1] => value 
        [attr_2] => value 
        [attr_3] => value 
        [attr_4] => value 
        [attr_5] => value 
        [attr_6] => value 
        [attr_7] => value 
        [attr_8] => value 
       ) 
     ) 
) 

有没有PHP函数,或者其他快速的方法来实现这个?

+0

毫无作用,除了'array_merge' –

+0

或'array_merge_recursive',尝试一些:) – JustOnUnderMillions

+0

array_map'和'功能'组合()use(){}'包装成递归函数可以完成这项工作。 – JustOnUnderMillions

回答

0

你必须unset()'other_array',这样一个办法:

foreach($array['items'] as &$v) { 
    $v = array_merge($v, $v['other_array']); 
    unset($v['other_array']); 
} 
+0

请问我需要什么。谢谢! – JK87