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

PHP如何拆分二维数组中逗号分隔的room_val字段并保留其余数据

数组拆分room_val字段实现方案

该需求完全可以实现,核心逻辑为遍历原数组每一项,按逗号拆分room_val字段的字符串值,为每个拆分出的单个房间值保留原记录的其余字段,最终汇总所有生成的新记录得到目标数组。

PHP实现代码

假设原始数组存储在变量$list中,实现代码如下:

$result = [];
foreach ($list as $item) {
    // 按逗号拆分房间值,自动过滤空值
    $roomIdList = array_filter(explode(',', $item['room_val']));
    foreach ($roomIdList as $roomId) {
        // 复制原记录全部字段,仅替换room_val为单个房间值
        $newItem = $item;
        $newItem['room_val'] = trim($roomId);
        $result[] = $newItem;
    }
}

执行效果

代码运行后生成的$result数组结构完全符合预期:原数组中每条记录的room_val有几个逗号分隔的值,就会拆分为几条独立记录,除room_val替换为单个值外,其余字段和原记录完全一致。
以你给出的原始数组为例,最终会生成6条记录,分别对应两个原项中各3个拆分后的房间ID。

兼容说明

  • 代码中使用array_filter处理拆分结果,可自动兼容room_val首尾多余逗号、连续逗号产生的空值问题
  • 对单个房间ID使用trim处理,可兼容逗号前后存在多余空格的异常格式
  • 代码采用全量复制原项的方式保留其他字段,无论原单条记录有12个字段还是更多,非room_val字段都会原样保留,无需手动逐个赋值
  • PHP数组赋值为拷贝语义,上述操作不会修改原始数组的内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:39:37