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

PHP中如何合并多个数组并提取唯一元素?

在PHP中合并多数组并保留唯一元素的简便实现

当然有非常简便的实现方式!PHP的内置函数组合起来就能快速完成这个需求,不需要复杂的循环逻辑。我直接给你完整的实现代码,再一步步拆解说明:

首先,先把你的所有数组整理到一个集合里(方便后续统一处理):

$inputArrays = [
    ["ar1"],
    ["ar2"],
    ["ar2"],
    ["ar3"],
    ["ar4","ar2","ar5"],
    ["ar6","ar1"],
    ["ar5","ar3","ar7"],
    ["ar8","ar9","ar7"],
    ["ar3"]
];

接下来通过三步就能得到你想要的结果:

  1. 扁平化合并所有数组:用array_merge()配合展开运算符...,把嵌套的子数组全部合并成一个一维数组
  2. 移除重复元素:用array_unique()函数自动过滤掉重复值
  3. 转成逗号分隔的字符串:用implode()把数组元素拼接成目标格式

完整代码如下:

$inputArrays = [
    ["ar1"],
    ["ar2"],
    ["ar2"],
    ["ar3"],
    ["ar4","ar2","ar5"],
    ["ar6","ar1"],
    ["ar5","ar3","ar7"],
    ["ar8","ar9","ar7"],
    ["ar3"]
];

// 扁平化合并所有子数组
$merged = array_merge(...$inputArrays);
// 去除重复元素
$uniqueItems = array_unique($merged);
// 拼接成逗号分隔的字符串
$result = implode(',', $uniqueItems);

echo $result; // 输出:ar1,ar2,ar3,ar4,ar5,ar6,ar7,ar8,ar9

如果追求代码简洁,还可以把这三步合并成一行:

$result = implode(',', array_unique(array_merge(...$inputArrays)));

补充细节说明

  • array_merge(...$inputArrays):展开运算符...会把$inputArrays中的每个子数组作为独立参数传给array_merge,一次性完成所有数组的扁平化合并,比循环逐个合并更高效。
  • array_unique():默认会保留元素第一次出现的实例,移除后续重复项,完全匹配你的需求。
  • implode():第一个参数是分隔符(这里用逗号),第二个参数是目标数组,能快速把数组转成你需要的字符串格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:04:06