我有2个数组:
$arr_1 = ['1','2','3','4'];
$arr_2 = ['2','5','4','6','7'];
我想将$arr_1
和$arr_2
合并在一起,而这两个数组中都没有这样的项目:
$arr_merged = ['1','3','5','6','7']
我该怎么做?我想我必须运行一些foreach来遍历这些数组和句柄,但是对于这个问题,它似乎并不是一个很好的解决方案...
答案 0 :(得分:4)
要获取唯一项,可以使用array_diff()
函数来查找两个数组之间的差异。它计算所有数组的差,并返回所有包含在任何数组中都无法匹配的条目的数组。对于合并两个数组,可以使用array_merge()
函数。
<?php
$arr_1 = ['1','2','3','4'];
$arr_2 = ['2','5','4','6','7'];
$arr_merged = array_merge(array_diff($arr_1, $arr_2), array_diff($arr_2, $arr_1));
print_r($arr_merged);
?>
答案 1 :(得分:2)
您将array_diff
与array_merge
一起使用以实现输出。
注意:array_diff
从技术上讲与array_intersect
相反。
<?php
$arr_1 = ['1','2','3','4'];
$arr_2 = ['2','5','4','6','7'];
$diff_1 = array_diff($arr_1, $arr_2);
$diff_2 = array_diff($arr_2, $arr_1);
$array_merge = array_merge($diff_1,$diff_2);
print_r($array_merge);
?>