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

PHP合并两个数组按user_id去重时如何排除首个数组已存在的用户条目

实现代码

直接提取$array1中已存在的user_id集合,再对$array2做过滤即可得到预期结果:

// 第一步:提取$array1中所有存在的user_id
$existsUserIds = array_column($array1, 'user_id');

// 第二步:过滤$array2,仅保留user_id未在$array1出现过的条目
$filtered = array_filter($array2, function($item) use ($existsUserIds) {
    return !in_array($item['user_id'], $existsUserIds);
});

// 可选:重置数组为从0开始的连续索引
$result = array_values($filtered);

大数据量优化方案

如果处理的数组规模较大,可将user_id转为数组键做匹配,查询复杂度从O(n)降到O(1),性能提升明显:

// 用user_id作为数组键,匹配效率更高
$existsUserIdMap = array_flip(array_column($array1, 'user_id'));

$filtered = array_filter($array2, function($item) use ($existsUserIdMap) {
    return !isset($existsUserIdMap[$item['user_id']]);
});

$result = array_values($filtered);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:27:04