我有两个数组:
foo
bar
baz
和
foo
baz
我想比较这两个数组,如果有匹配项,则删除两者匹配项(不只是重复项),所以我最终得到一个像这样的数组:
bar
我知道数组1将始终包含foo
,bar
和baz
,而数组2将始终包含foo
和baz
。数组中的条目不一定总是相同的顺序,但是内容将保持不变。
代替比较两个数组,我可以做类似16153948的解决方案,但这将要求我对要删除的每个匹配项使用(几乎)重复的行,因为条目是完全不相关的(不能使用正则表达式),这似乎不是一个好的解决方案。
答案 0 :(得分:3)
您可以使用array_diff获得两个数组的差异,然后使用array_merge合并它们:
$res = array_merge(array_diff($a, $b), array_diff($b, $a));
print_r($res);
输出
Array
(
[0] => bar
)
Php demo具有更多不同的值。