比较两个数组并根据每个数据显示不同

问题描述:

所以我知道有一种简单的方法可以使用array_diff来查看两个数组之间的区别。为什么我需要一些更具体一点,虽然 看看:比较两个数组并根据每个数据显示不同

比方说,我们有这2个数组

$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并将结果丢失在第三个数组中,反之亦然第四个数组。

这是最好的方法吗?还是有更简单的本地功能,我可以使用?

+0

你期望返回的数组看起来像基于上面的例子吗? – 2011-09-27 22:58:17

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