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

如何仅移除PHP数组中重复出现单词的首次实例

解决方案:移除数组中重复单词的首次出现实例

针对需求——检查数组中是否存在重复单词,仅移除该单词的首次出现实例,这里提供PHP的实现方案:

实现思路

  1. 先统计数组内每个单词的出现次数(区分大小写,与示例逻辑一致);
  2. 遍历原数组,对出现次数大于1的单词,跳过其首次出现的实例,其余元素全部保留;出现次数为1的单词直接保留。

代码实现

$array_words = ['harmony', 'Acrobat', 'harmony', 'harmony'];

// 统计每个单词的出现次数
$wordCounts = array_count_values($array_words);
$finalArray = [];
// 标记已移除过首次出现的单词
$removedFirstOccurrence = [];

foreach ($array_words as $word) {
    // 仅当单词重复且未移除过首次出现时跳过
    if ($wordCounts[$word] > 1 && !isset($removedFirstOccurrence[$word])) {
        $removedFirstOccurrence[$word] = true;
        continue;
    }
    $finalArray[] = $word;
}

// 输出结果:Array ( [0] => Acrobat [1] => harmony [2] => harmony )
print_r($finalArray);

说明

  • 使用array_count_values()实现高效的次数统计,该函数会严格区分大小写,因此示例中的Acrobat会被视为唯一元素保留;
  • 通过$removedFirstOccurrence数组标记已处理过的重复单词,确保仅跳过首次出现的实例;
  • 该方案支持同时处理多个不同的重复单词,例如数组['apple', 'banana', 'apple', 'orange', 'banana']处理后会得到['banana', 'orange', 'banana']。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:31:07