下面是 2 个数组
$full = array('ABCD19ed81424931667', 'ABCD0c08b1424947569');
$filtered = array('ABCD19ed81424931667');
我想要 2 个数组中不匹配的记录。我试过了 array_diff
,array_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)。 所以你需要合并输出