PHP :从 2 个数组中获取不匹配的记录


PHP : Getting not matched records from 2 arrays

下面是 2 个数组

$full = array('ABCD19ed81424931667', 'ABCD0c08b1424947569');   
$filtered = array('ABCD19ed81424931667');

我想要 2 个数组中不匹配的记录。我试过了 array_diffarray_diff_assoc功能它对我不起作用。

array_diff返回 1 个方向的差值。要获得两个方向的差异,您可以执行 2 个array_diff,然后执行array_merge

$output = array_merge(array_diff($full, $filtered), array_diff($filtered, $full));

array_diff — 计算数组的差值。

这里array_diff(A,B)和array_diff(B,A)是不同的。

$full = array('ABCD19ed81424931667', 'ABCD0c08b1424947569');   
$filtered = array('ABCD19ed81424931667');
$result = array_merge(array_diff($full, $filtered), array_diff($filtered, $full));

array_diff(A,B) 返回 A 中的所有元素,这些元素不是 B 的元素(= A 没有 B)。 所以你需要合并输出