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

PHP新手求教:如何找出嵌套数组中重复次数最多的元素

找出嵌套数组中重复次数最多的元素的PHP实现

针对你的需求,我们可以通过组合几个PHP内置函数高效解决,下面是具体步骤和函数说明:

用到的核心函数

  • array_column():从多维数组中提取指定列的值,把嵌套数组里的id字段提取成一维数组,方便后续统计。
  • array_count_values():统计一维数组中每个值的出现次数,返回一个键为原数组值、值为对应次数的关联数组。
  • max():获取统计结果中的最大次数值,用来筛选出重复次数最多的元素。
  • array_filter() + array_keys():过滤出所有次数等于最大值的元素,再提取这些元素的键(也就是我们要找的id值)。

完整代码示例

$arr = [
    ["id"=>1],
    ["id"=>2],
    ["id"=>2],
    ["id"=>2],
    ["id"=>3],
    ["id"=>4],
    ["id"=>4],
    ["id"=>4]
];

// 1. 提取所有id值到一维数组
$ids = array_column($arr, 'id');

// 2. 统计每个id的出现次数
$counts = array_count_values($ids);

// 3. 获取最大的重复次数
$maxCount = max($counts);

// 4. 筛选出所有重复次数等于最大值的id
$result = array_keys(array_filter($counts, function($count) use ($maxCount) {
    return $count === $maxCount;
}));

print_r($result); // 输出:Array ( [0] => 2 [1] => 4 )

上面的写法拆分了每一步逻辑,新手能清晰理解每个环节的作用;如果想简化代码,也可以把部分步骤合并,但可读性会稍弱一些。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:45:32