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

如何在多维关联数组中查找us_states_ids字段的重复id值

PHP实现多维数组中重复州ID的查找

核心思路

先将所有子项的us_states_ids字段中的ID汇总到一个一维数组中,统计每个ID的出现次数,最后筛选出出现次数≥2的ID即为目标重复值。

实现代码

通用兼容写法

// 此处替换为你的原始数组
$originalArray = [
    [
        "url" => "http://www.kerluke.net/qui-sint-debitis-quo-et-suscipit-dolores-dolor-quae",
        "us_states_ids" => ["15", "16"]
    ],
    [
        "url" => "http://www.migato.net/qui-sint-debitis-quo-et-suscipit-dolores-dolor-quae",
        "us_states_ids" => ["15", "24", "28"]
    ]
];

$allStateIds = [];
// 遍历收集所有州ID
foreach ($originalArray as $item) {
    foreach ($item['us_states_ids'] as $stateId) {
        $allStateIds[] = $stateId;
    }
}

// 统计每个ID的出现次数
$idOccurrences = array_count_values($allStateIds);

// 筛选出重复ID(出现次数≥2)
$duplicateIds = array_keys(array_filter($idOccurrences, function($count) {
    return $count >= 2;
}));

// 输出结果,示例中输出为 Array ( [0] => 15 )
print_r($duplicateIds);

简洁写法(PHP 7.4+ 支持)

可以用数组列提取+数组合并简化收集ID的步骤:

// 直接提取所有us_states_ids并合并为一维数组
$allStateIds = array_merge(...array_column($originalArray, 'us_states_ids'));
// 后续统计、筛选逻辑和上方一致

内容的提问来源于stack exchange,提问作者Ebuen Clemente Jr.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 14:12:04