按键合并2D数组

时间:2015-06-08 12:20:00

标签: php arrays

我有两个阵列,我想加入像我下面说的那样。按键合并这些数组。

$arr1 = array(
     [0]=>array(
             [a]=>2,
             [b]=>3,
             [c]=>4
          );
      );

    $arr2 = array(
         [0]=>array(
                 [d]=>5,
                 [e]=>6,
                 [f]=>7
              );

现在我想要一个像

这样的数组
    $new_arr = array(
              [0]=>array(
                     [a]=>2,
                     [b]=>3,
                     [c]=>4,
                     [d]=>5,
                     [e]=>6,
                     [f]=>,
                 );
           );
);

请帮帮我

3 个答案:

答案 0 :(得分:3)

在这种情况下,你可以使用array_replace_recursive,如果密钥不同,它将作为数组合并保存路径

$new_arr = array_replace_recursive($arr1, $arr2);

结果

array(1) {
  [0]=>
  array(6) {
    ["a"]=>
    int(2)
    ["b"]=>
    int(3)
    ["c"]=>
    int(4)
    ["d"]=>
    int(5)
    ["e"]=>
    int(6)
    ["f"]=>
    int(7)
  }
}

答案 1 :(得分:2)

尝试使用array_mergeforeach作为

$arr1 = array(array(
             'a'=>2,
             'b'=>3,
             'c'=>4
          )
      );

$arr2 = array(array(
                 'd'=>5,
                 'e'=>6,
                 'f'=>7
              ));
$result = array();              
              foreach($arr1 as $key => $value){
                $result[] = array_merge($value,$arr2[$key]);
              }

print_r($result);

或者 如果有单个数组

$result = array_merge($arr1[0],$arr2[0]);

或使用array_replace_recursive

$result = array_replace_recursive($arr1,$arr2);

DEMO

答案 2 :(得分:1)

用于合并数组,

$new_arr[0] = array_merge($arr1[0],$arr2[0]);

了解array merge

的更多信息