📅  最后修改于: 2023-12-03 15:03:34.645000             🧑  作者: Mango
在 PHP 中,有时需要将两个数组合并,但需要保留两个数组中相同的元素。这个问题可以通过使用 array_merge 和 array_intersect 函数来解决。
array_merge 函数可以将两个或多个数组合并为一个数组。使用此函数时,如果两个数组中有相同的元素,则后一个数组的元素将覆盖前一个数组中的元素。
$array1 = array('a', 'b', 'c');
$array2 = array('d', 'b', 'e');
$result = array_merge($array1, $array2);
print_r($result);
输出:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => b
[5] => e
)
从上面的代码中可以看出,当两个数组合并时,元素 'b' 出现两次,因为数组合并时后一个数组的元素覆盖了前一个数组的元素。
array_intersect 函数可以返回两个或多个数组中相同的元素。使用此函数时,会将两个数组的元素进行比较,然后返回相同的元素。
$array1 = array('a', 'b', 'c');
$array2 = array('d', 'b', 'e');
$result = array_intersect($array1, $array2);
print_r($result);
输出:
Array
(
[1] => b
)
从上面的代码中可以看出,当两个数组进行比较时,只有元素 'b' 是相同的,因此只返回了元素 'b'。
要合并两个数组并保留重复元素,我们可以先使用 array_merge 函数将两个数组合并,然后使用 array_intersect 函数获取重复元素。
$array1 = array('a', 'b', 'c');
$array2 = array('d', 'b', 'e');
$result = array_intersect(array_merge($array1, $array2), $array2);
print_r($result);
输出:
Array
(
[1] => b
)
从上面的代码中可以看出,我们先将两个数组合并,然后使用 array_intersect 函数获取重复的元素,最后返回了元素 'b'。
以上就是在 PHP 中合并两个数组并保留重复元素的方法。