You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何统计两个数组去重后的交集元素个数

PHP 统计数组不重复交集元素数量的实现方法

方案1:先对数组去重再求交集

该方案先去除两个数组的内部重复值,再计算交集并统计数量,适合需要同时用到去重后数组的场景。
示例代码:

$first = array(1,1,2,3,4);
$second = array(1,2,3,4,5);

// 分别对两个数组去重
$uniqueFirst = array_unique($first);
$uniqueSecond = array_unique($second);

// 计算交集后统计元素数
$count = count(array_intersect($uniqueFirst, $uniqueSecond));
// 最终 $count 的值为 4

方案2:先求交集再去重统计

该方案先计算完整交集,再对交集结果去重后统计,适合需要保留完整交集元素做其他后续处理的场景。
示例代码:

$first = array(1,1,2,3,4);
$second = array(1,2,3,4,5);

// 先获取包含重复值的完整交集
$intersectResult = array_intersect($first, $second);
// 对交集去重后统计
$count = count(array_unique($intersectResult));
// 最终 $count 的值为 4

原理说明

array_intersect()的原生逻辑是保留第一个数组中所有在后续数组中存在的元素,包括重复出现的元素,因此直接统计会计入重复值。两种方案均通过去重操作过滤掉重复的交集元素,得到不重复的交集统计结果。如果处理的数组量级极大,优先对元素更多的数组做前置去重,可以减少交集计算的运算量,性能表现更好。


内容的提问来源于stack exchange,提问作者Blitzkriegfest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:06:02