我正在寻找与之相反的函数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))可以完成工作),但是我想知道是否有一个内置函数无法找到。
谢谢。
由于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)
| 归档时间: |
|
| 查看次数: |
2404 次 |
| 最近记录: |