如何比较这两个阵列?
我希望结果是一个数组中不可用的元素。例如:
数组#1
Array
(
[0] => Array
(
[0] => a
[1] => 1
)
[1] => Array
(
[0] => b
[1] => 2
)
[2] => Array
(
[0] => c
[1] => 3
)
)
数组#2
Array
(
[0] => Array
(
[0] => a
[1] => 1
)
[1] => Array
(
[0] => b
[1] => 2
)
)
结果
Array
(
[0] => Array
(
[0] => c
[1] => 3
)
)
答案 0 :(得分:0)
在集合理论中,这是调用对称差异。
首先,您需要删除任何可能的重复项,然后获取两个数组的个体差异并合并这两个个体差异。
$a = array('John', 'Bob', 'Mary', 'Serena');
$b = array('Jim', 'Mary', 'John', 'Bob');
// Remove any duplicates
$a = array_unique($a);
$b = array_unique($b);
// Get the individual differences, using array_diff()
$a_minus_b = array_diff($a, $b);
$b_minus_a = array_diff($b, $a);
// Simply merge them together to get the symmetric difference
$symmetric_difference = array_merge($a_minus_b, $b_minus_a); // produces ['Serena', 'Jim']
如果需要,您可能需要对2D数组进行必要的更改。
我希望这有帮助。