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

PHP层级分类JSON移除外层ID键的技术需求

修改unflattenArray函数输出结构

假设你的原unflattenArray函数返回的是以分类ID为键的关联数组,示例结构如下:

[
    1 => [
        'id' => 1,
        'name' => '父分类',
        'children' => [...]
    ],
    2 => [
        'id' => 2,
        'name' => '子分类',
        'children' => [...]
    ]
]

要移除外层ID键、仅保留分类信息数组,只需利用PHP的array_values()函数提取数组的所有值即可,分类内部的id字段不会受到影响。

方案1:直接修改函数返回逻辑

在原函数的层级转换逻辑完成后,用array_values()处理结果再返回:

function unflattenArray($flatArray) {
    // 原有的层级转换逻辑保持不变
    $result = [];
    foreach ($flatArray as $item) {
        // 此处保留你原本的分类层级构建代码
        $result[$item['id']] = $item;
    }

    // 关键修改:提取数组值,去掉外层ID键
    return array_values($result);
}

方案2:在函数外部处理结果

如果不想改动原函数,可在调用后直接处理返回值:

// 调用原函数得到带外层ID键的结果
$hierarchicalData = unflattenArray($flatCategories);
// 移除外层ID键
$finalData = array_values($hierarchicalData);
// 输出JSON
echo json_encode($finalData);

修改后输出示例

处理后的数组转换为JSON后,结构会变成:

[
    {
        "id": 1,
        "name": "父分类",
        "children": [...]
    },
    {
        "id": 2,
        "name": "子分类",
        "children": [...]
    }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 10:22:09