与array_intersect相反

ent*_*pid 3 php

我正在寻找与之相反的函数array_intersect,基本上是一个函数,该函数返回每个提供的数组中存在的元素。

例:

$a1 = array(1, 2, 3);
$a2 = array(2, 3, 4);
$result = array(1, 4);
Run Code Online (Sandbox Code Playgroud)

我知道如何以编程方式进行操作(我只有两个数组,因此array_merge(array_diff($a1, $a2), array_diff($a2, $a1))可以完成工作),但是我想知道是否有一个内置函数无法找到。

谢谢。

wil*_*ler 5

由于array_diff($a, $b) !== array_diff($b, $a) array_intersect的逆是:

array_merge(array_diff($a,$b), array_diff($b,$a));
Run Code Online (Sandbox Code Playgroud)

这是PHPUnit测试格式:

class ArrayInverseTest {
    function testInverseArrayIntersect() {
        $a = array(1, 2, 3);
        $b = array(2, 3, 4);

        $this->assertEquals(
            array_values(array(1, 4)),
            array_values(array_merge(array_diff($a, $b), array_diff($b, $a)))
        );
    }
}
Run Code Online (Sandbox Code Playgroud)