是否有可能合并2个数组而不重叠相同的键?合并2阵列,并添加一个新的项目,如果密钥存在
我希望它添加一个新的项目,如果一个密钥已经存在。
就像那个
$a = array(1,2,3,4);
$b = array(3,4,5,6);
merge $a and $b
期望的结果是
array(1,2,3,4,3,4,5,6)
是否有可能合并2个数组而不重叠相同的键?合并2阵列,并添加一个新的项目,如果密钥存在
我希望它添加一个新的项目,如果一个密钥已经存在。
就像那个
$a = array(1,2,3,4);
$b = array(3,4,5,6);
merge $a and $b
期望的结果是
array(1,2,3,4,3,4,5,6)
$a = array(1,2,3,4);
$b = array(3,4,5,6);
$c = array_merge($a,$b);
print_r($c);
这是从帮助的关键短语:
如果输入的数组中有相同的字符串键,那么该密钥的后来值 将覆盖前一个。但是,如果数组键 包含数字键,则后面的值不会覆盖原始值 值,但会被追加。
所以,当你有数字键
尝试array_merge
:
$result = array_merge($a, $b);
这只会工作,你可以使用函数array_merge
用于这一目的。但我想指出的是,数组的内容是数组的值而不是键。在PHP 中,您不能有重复密钥。
尝试
<?php
$merged_array = array_merge($a, $b);
?>
也存在功能array_merge_recursive。
我可以使用array_unshift为同样的想法,但为了prepend第二个数组? – 2012-04-17 12:31:11
@Ahmetvardar nope - 你将不得不循环第二个数组,并且一次不移动一个键/值 - 不移动数组产生以下内容 - > http://codepad.org/oViUCBel – ManseUK 2012-04-17 12:35:02