我有两个这样的数组:
array(
'11' => '11',
'22' => '22',
'33' => '33',
'44' => '44'
);
array(
'44' => '44',
'55' => '55',
'66' => '66',
'77' => '77'
);
我想要将这两个数组合并,使它们不包含重复项,并保留它们的原始键。例如输出应为:
array(
'11' => '11',
'22' => '22',
'33' => '33',
'44' => '44',
'55' => '55',
'66' => '66',
'77' => '77'
);
我试过了,但它会改变它们的原始键:
$output = array_unique( array_merge( $array1 , $array2 ) );
有什么解决方案吗?
$array1 + $array2
是一个简短高效的解决方案,而不用使用array_merge() - array_combine()
的组合。 - Awanarray_merge()
在使用数字字符串键时的行为,一开始我期望+
和array_merge()
的行为几乎相同,但现在看来,我学到了一些东西 :) - KingCrunch$a + $b
不等于array_merge($a, $b)
。 - jmarceliarray_merge()
,而是使用$output = $array1 + $array2;
。请参见 https://gist.github.com/Ocramius/8399625 和 https://dev59.com/8H_aa4cB1Zd3GeqPziu3#23348715。 - Avatar