php求两个数组的差集
方法一:使用array_diff()函数
$array1 = [1, 2, 3, 4];
$array2 = [2, 4];
$diff = array_diff($array1, $array2);
print_r($diff); // 输出 [1, 3]
方法二:使用array_filter()函数结合匿名函数
$array1 = [1, 2, 3, 4];
$array2 = [2, 4];
$diff = array_filter($array1, function($value) use($array2) {
return !in_array($value, $array2);
});
print_r($diff); // 输出 [1, 3]
方法三:使用foreach循环
$array1 = [1, 2, 3, 4];
$array2 = [2, 4];
$diff = [];
foreach($array1 as $value) {
if(!in_array($value, $array2)) {
$diff[] = $value;
}
}
print_r($diff); // 输出 [1, 3]
方法四:使用array_diff_key()函数结合array_flip()函数
$array1 = [1, 2, 3, 4];
$array2 = [2, 4];
$diff_keys = array_diff_key(array_flip($array1), array_flip($array2));
$diff = array_keys($diff_keys);
print_r($diff); // 输出 [1, 3]