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

求助:完善PHP代码以统计并输出数组中的重复姓名

找出重复姓名并输出的PHP实现

需求说明

输入为一个姓名列表:

  • 第一个输入值是姓名的总数量
  • 后续输入为具体姓名
    需要输出列表中重复出现的姓名

输入示例:

5
John
Mike
Alisson
John
Mike

输出示例:

John
Mike

现有代码补充与完整实现

你已经完成了姓名出现次数的统计逻辑,只需要新增遍历判断逻辑即可输出重复姓名。下面是修正并补充后的完整代码:

<?php
$n = readline();
$names = []; // 初始化数组,避免未定义变量警告
for($i = 0; $i < $n ; $i++) {
    $name = readline();
    $names[$name] = isset($names[$name]) ? $names[$name] + 1 : 1;
}

// 遍历统计结果,输出重复的姓名
foreach($names as $name => $count) {
    if($count > 1) {
        echo $name . PHP_EOL;
    }
}
?>

代码说明

  1. 初始化数组:提前声明$names数组,避免PHP抛出未定义变量的警告
  2. 统计次数:原循环逻辑通过关联数组的键存储姓名,值存储对应出现次数,每次读取姓名时更新计数
  3. 输出重复项:使用foreach遍历统计数组,当姓名的出现次数$count大于1时,输出该姓名,PHP_EOL确保在不同操作系统下都能正确换行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:07:47