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

如何在PHP中实现R语言make.unique函数的功能?

实现PHP版的R语言make.unique函数

要实现和R语言make.unique()功能一致的PHP函数,核心逻辑是为重复出现的元素添加递增后缀,第一个出现的元素保持原样。以下是具体实现:

function make_unique($array) {
    $counts = [];
    $result = [];
    
    foreach ($array as $item) {
        if (!isset($counts[$item])) {
            $counts[$item] = 0;
            $result[] = $item;
        } else {
            $counts[$item]++;
            $result[] = $item . '.' . $counts[$item];
        }
    }
    
    return $result;
}

// 测试示例
$dup_array = array("a", "b", "a", "c");
print_r(make_unique($dup_array));

函数说明

  • 用$counts数组跟踪每个元素的出现次数,初始值为0
  • 遍历原数组时,首次遇到的元素直接存入结果数组,同时初始化该元素的计数
  • 后续遇到重复元素时,计数递增1,将元素.计数的格式存入结果数组
  • 完全匹配R中make.unique()的行为,重复元素的后缀从.1开始递增

测试输出

执行上述代码后,输出结果为:

Array
(
    [0] => a
    [1] => b
    [2] => a.1
    [3] => c
)

内容的提问来源于stack exchange,提问作者Ömer A.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:34:56