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

PHP数组转换:合并索引0值相同的子数组实现思路问询

PHP数组合并转换实现思路

输入数组示例

Array (
    [0] => Array
        (
            [0] => A
            [1] => 2023-11-14T16:30:00+0100
            [2] => 2023-11-14T18:00:00+0100
        )

    [1] => Array
        (
            [0] => A
            [1] => 2023-11-16T16:00:00+0100
            [2] => 2023-11-16T17:00:00+0100
        )

    [2] => Array
        (
            [0] => B
            [1] => 2023-11-20T09:30:00+0100
            [2] => 2023-11-20T10:00:00+0100
        )

    [3] => Array
        (
            [0] => B
            [1] => 2023-11-21T09:00:00+0100
            [2] => 2023-11-21T10:00:00+0100
        )
)

期望输出数组示例

Array
(
    [0] => Array
        (
            [0] => 0,"A","2023-11-14T16:30:00+0100","2023-11-14T18:00:00+0100","2023-11-16T16:00:00+0100","2023-11-16T17:00:00+0100"
        )

    [1] => Array
        (
            [0] => 1,"B","2023-11-20T09:30:00+0100","2023-11-20T10:00:00+0100","2023-11-21T09:00:00+0100","2023-11-21T10:00:00+0100"
        )
)

实现思路

  • 第一步:按标识分组收集时间
    新建一个临时数组,遍历输入的每个子数组:

    • 取子数组索引0的内容(比如"A"、"B")作为临时数组的键;
    • 把当前子数组里索引1、2的时间值,追加到临时数组对应键的列表中,完成同一标识下所有时间的归集。
  • 第二步:生成目标格式的输出数组
    初始化最终输出数组,然后遍历临时分组数组:

    • 给每个分组分配从0开始递增的序号;
    • 把序号、分组标识、所有收集到的时间按顺序拼接成指定格式的字符串(除序号外,其他元素用双引号包裹,逗号分隔);
    • 将该字符串放入单元素子数组,再添加到最终输出数组中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 09:14:51