比较两个数组并根据每个数组显示差异

时间:2011-09-27 22:54:17

标签: php arrays compare

所以我知道有一种简单的方法可以使用array_diff查看两个数组之间的区别。 看看为什么我需要一些更具体的东西:

假设我们有这两个数组

$array1         $array2
   1               1
   2               -
   -               3
   4               4
   -               5
   6               -

-表示相对阵列中缺少它。

如果$array1包含$array2中缺少的元素,则必须从$array1删除该元素。 如果$array2包含$array1中缺少的元素,则必须将其添加到$array1

如果我只是执行array_diff($array1, $array2),它只会返回[2, 6]。这在我的场景中没有用,因为我不知道这些项中缺少哪两个数组。

我做了一些环顾四周,似乎没有发现是否有一个原生的php函数可以区分缺少项目的数组。

最好的方法是什么?我正在考虑循环$array1并针对$array2进行检查并将结果存储在第三个数组中,对于第四个数组则反之亦然。

这是最好的方法吗?或者我可以使用更简单的原生功能吗?

1 个答案:

答案 0 :(得分:3)

$comparison1 = array_diff($array1, $array2);
$comparison2 = array_diff($array2, $array1);