您可以简单地“添加”数组:

>> $a = array(1, 2, 3);
array (
  0 => 1,
  1 => 2,
  2 => 3,
)
>> $b = array(\"a\" => 1, \"b\" => 2, \"c\" => 3)
array (
  \'a\' => 1,
  \'b\' => 2,
  \'c\' => 3,
)
>> $a + $b
array (
  0 => 1,
  1 => 2,
  2 => 3,
  \'a\' => 1,
  \'b\' => 2,
  \'c\' => 3,
)

 

考虑到你有

$replaced = array(\'1\' => \'value1\', \'4\' => \'value4\');
$replacement = array(\'4\' => \'value2\', \'6\' => \'value3\');

$merge = $replacement + $replaced;会输出:

Array(\'1\' => \'value1\', \'4\' => \'value2\', \'6\' => \'value3\');

sum中的第一个数组将在最终输出中包含值。

$merge = $replaced + $replacement;会输出:

Array(\'1\' => \'value1\', \'4\' => \'value4\', \'6\' => \'value3\');

 

虽然这个问题很老,但我只是想在保留密钥的同时增加另一种合并的可能性。

除了使用+符号向现有数组添加键/值之外,您还可以执行此操作array_replace

$a = array(\'foo\' => \'bar\', \'some\' => \'string\');
$b = array(42 => \'answer to the life and everything\', 1337 => \'leet\');

$merged = array_replace($a, $b);

后一个数组将覆盖相同的键。
还有一个array_replace_recursive,也用于子阵列。

收藏 打印