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

PHP如何拆分含逗号的数组成员并得到唯一的一维数组?

实现目标一维数组的方案

你之前两种写法得到二维数组的核心原因是:每次explode拆分字符串得到的是子数组,直接将子数组作为单个元素塞入新数组,自然形成二维结构。下面给出3种可直接运行的实现方案:

方案1:改进foreach写法

在遍历拆分后将子数组的元素逐个推入新数组,不需要额外的降维操作:

$array = ['a', 'b,c,d', 'e', 'f,g'];
$newArray = [];
foreach ($array as $item) {
    // 用展开运算符将拆分后的子数组元素逐个压入新数组
    array_push($newArray, ...explode(',', $item));
}
// 如需去重可追加下面一行
$newArray = array_unique($newArray);

方案2:array_map后降维合并

先按你之前的写法得到二维拆分结果,再用array_merge展开合并为一维数组:

$array = ['a', 'b,c,d', 'e', 'f,g'];
$splitedArr = array_map(function($val) {
    return explode(',', $val);
}, $array);
// 二维数组合并为一维
$newArray = array_merge(...$splitedArr);
// 去重
$newArray = array_unique($newArray);

方案3:极简一行实现

先把整个原始数组用逗号拼接为完整字符串,再直接按逗号拆分,一步得到一维数组:

$array = ['a', 'b,c,d', 'e', 'f,g'];
$newArray = array_unique(explode(',', implode(',', $array)));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:06:03