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

如何移除二维数组中各子数组的重复元素?

解决二维数组子数组去重的问题

嘿,这个需求很容易实现,用PHP的内置函数组合就能搞定,完全符合你想要的结果~

实现代码

// 替换成你的原始数组
$originalArray = [
    'success' => ['Done.', 'Done.'],
    'error' => [
        'This request has already been processed.',
        'This request has already been processed.',
        'This request has already been processed.',
        "You Don't Have Permission.",
        "You Don't Have Permission."
    ],
    'warning' => []
];

// 遍历每个子数组,完成去重+索引重置
$processedArray = array_map(function($subArray) {
    // array_unique 去除子数组内的重复值,array_values 重置索引为连续的0、1、2...
    return array_values(array_unique($subArray));
}, $originalArray);

// 查看处理后的结果
print_r($processedArray);

代码说明

  • array_unique():负责移除每个子数组里的重复元素,它会保留第一个出现的元素,后续重复项都会被过滤掉。
  • array_values():因为array_unique会保留原数组的键名(比如去重后可能出现索引跳变),用这个函数可以把索引重置为连续的数字,和你给出的目标格式完全一致。
  • array_map():帮你遍历外层数组的所有子元素,自动把每个子数组传入回调函数处理,不用手动写循环,代码更简洁。

运行这段代码后,输出的结果就是你想要的:

Array ( 
    [success] => Array ( [0] => Done. ) 
    [error] => Array ( 
        [0] => This request has already been processed. 
        [1] => You Don't Have Permission. 
    ) 
    [warning] => Array ( ) 
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:04:53