Php单阵列比较

时间:2017-05-03 08:09:33

标签: php arrays multidimensional-array

我有两个数组。 例如

$arr1 = ['apple','mango','grapes','banana'];
$arr2 = ['apple','mango','orange'];

现在我想比较这两个数组并将其作为

$arr3 = ['apple','mango','grapes','banana']

即,将$arr2$arr1进行比较。如果$arr2中存在$arr1的值(苹果和芒果),则将其添加到$arr3中,否则从$arr2中删除该元素(橙色)。

注意:$arr1值保持不变。即 - 不应该去除葡萄和香蕉

我尝试了array_intersectarray_unique。但是这个逻辑很突出。

2 个答案:

答案 0 :(得分:0)

@vinothini只需使用array_intersect()和array_diff(),如下所示:

Table2

但关于你答案的主要问题是,在你的情况下,$ arr3总是等于$ arr1,你不必计算任何东西,所以正确答案是:

$ <?php $arr1 = ['apple','mango','grapes','banana']; $arr2 = ['apple','mango','orange']; $arr3 = array_merge(array_intersect($arr2, $arr1), array_diff($arr1, $arr2)); print_r($arr3);

你可以直接把$ arr1作为你想要的数组()

答案 1 :(得分:-1)

这段代码可以。

$arr3 = array_intersect($arr1, $arr2);
$arr4 = array_diff($arr1,$arr3);
$output = array_merge($arr3,$arr4);