array_intersect() 是 PHP 的一个内置函数,用于 返回两个或多个数组的交集,即返回那些在所有数组中都存在的值。
语法
array_intersect(array $array1, array $array2, array …$arrays): array
参数
- array1 是主数组;
 - 后面的数组是用来和它比较的;
 
返回值
一个新的数组,包含所有在 array1 中也存在于其它数组中的值(保持 array1 的键不变)。
示例
$a = [1, 2, 3, 4];
$b = [3, 4, 5, 6];
$result = array_intersect($a, $b);
print_r($result);
Array
(
[2] => 3
[3] => 4
)
说明:值 3 和 4 同时存在于 $a 和 $b,并保留了在 $a 中的原始键。
注意事项
- 
只比较值,不比较键。
 - 
比较是 非严格类型(即
3 == '3'是成立的)。 - 
如果要严格比较类型(
===),可以使用:
👉array_intersect_assoc()(同时比较键和值)
👉array_uintersect()(支持自定义比较函数) 
实际用途示例
判断两个数组是否有重复元素:
if (!empty(array_intersect($arr1, $arr2))) {
echo “有重复元素”;
} else {
echo “无重复元素”;
}