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

PHP统计数组重复药品时仅能获取计数无法获取药名问题求解

问题原因

  1. 你遍历$cnt关联数组时只获取了值(重复次数),没有获取数组的键(对应药品名称)
  2. 原有判断条件存在语法错误,你误将整个统计数组$cnt作为判断对象,实际应该判断单次遍历拿到的重复次数是否大于1

解决代码

将原有遍历$cnt的代码替换为以下内容即可直接获取到药品名:

foreach ($cnt as $medName => $repeatCount) {
    // 仅处理重复次数大于1的药品
    if ($repeatCount > 1) {
        echo '<h2 style="color: gray;">';
        echo "药品名:{$medName},重复次数:{$repeatCount}";
        echo '</h2>';
        // 此处直接使用 $medName 调用对应API即可
    }
}

可选优化

你原有统计重复的两层循环可以简化,不需要嵌套遍历,直接使用array_column提取药品名后统计即可,性能更好:

// 直接提取$mednames中的所有med_name字段为一维数组
$allMedNames = array_column($mednames, 'med_name');
// 统计每个药品出现的次数,替代你原有的两层循环逻辑
$cnt = array_count_values($allMedNames);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:45:01