在PHP中,如何在一个数组中找到不在另一个数组中的元素?

时间:2013-09-12 17:05:59

标签: php

是否有一个类似于array_merge的php函数,它完全相反?换句话说,我有两个数组。我想从第一个数组中删除第二个数组中存在的任何值。我可以通过循环迭代来做到这一点,但如果有一个方便的函数可以做同样的事情,那将是首选的选项。

示例:

array1 = [1, 2, 3, 4, 5]
array2 = [2, 4, 5]

$result = array_unmerge(array1, array2);

$结果应该出现在[1,3]

3 个答案:

答案 0 :(得分:20)

您可以使用array_diff()计算两个数组之间的差异:

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(2, 4, 5);

$array3 = array_diff($array1, $array2);
print_r($array3);

输出:

Array
(
    [0] => 1
    [2] => 3
)

Demo!

答案 1 :(得分:1)

 $array1 = array(1, 2, 3, 4, 5);
 $array2 = array(2, 4, 5);
 $result = array_diff($array1, $array2);

答案 2 :(得分:1)

array_diff

返回一个数组,其中包含array1中任何其他数组中不存在的条目。