合并两个数值键关联数组并保留原始键。

107

我有两个这样的数组:

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 ) );

有什么解决方案吗?

11个回答

-1
我们可以使用 PHP 中的扩展运算符(...)来合并两个数组。
在这个例子中,$array1 包含了从 1 到 10 的值,而 $array2 包含了从 11 到 20 的值。 扩展运算符被用来将这两个数组连接(合并)成一个名为 $data 的单一数组。
// Define the first array
$array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

// Define the second array
$array2 = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20];

// Use the spread operator to concatenate the two arrays into a single array
$data = [...$array1, ...$array2];

// Print the contents of the combined array
print_r($data);


1
这个答案是其他几个答案的重复,但更糟糕的是它没有解释。 - cyberbrain
这个页面上任何使用扩展运算符实现方法的答案都是不合适/不正确的,应该发布在 Stack Overflow 的另一个页面上。此页面非常明确地要求保留在结果中必须保存的具有数字关联键的两个数组的合并。 - mickmackusa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接