如何从一个数组中获取不存在于另一个数组中的所有值


How to get all values from one array which do not exist in another array?

如何从数组中获取值,而不是在PHP中的另一个数组?

我目前的方法有很差的时间复杂度。是否有一个内置的php函数,可以解决我的问题?

的例子:

$a1 = array(1,2,3,4);
$a2 = array(3,4,5,6,7);
结果:

[5,6,7];

array_diff是你的朋友。

返回一个数组,其中包含array1中没有出现在其他数组中的所有项。

$a1 = array(1,2,3,4);
$a2 = array(3,4,5,6,7);
$result = array_diff($a2, $a1);   
print_r($result);

将输出:

Array
(
    [2] => 5
    [3] => 6
    [4] => 7
)

如果你像这样颠倒参数:

array_diff($a1, $a2)

输出:

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