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
)

说明:值 34 同时存在于 $a$b,并保留了在 $a 中的原始键。

注意事项

  1. 只比较值,不比较键。

  2. 比较是 非严格类型(即 3 == '3' 是成立的)。

  3. 如果要严格比较类型(===),可以使用:
    👉 array_intersect_assoc()(同时比较键和值)
    👉 array_uintersect()(支持自定义比较函数)

实际用途示例

判断两个数组是否有重复元素:

if (!empty(array_intersect($arr1, $arr2))) {
echo “有重复元素”;
} else {
echo “无重复元素”;
}

作者 admin

百度广告效果展示