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

CodeIgniter中如何在foreach内仅循环list字段生成多维数组

问题原因

你当前的写法将完整JSON结构的初始化、编码输出逻辑全部放在了foreach循环内部,每遍历一条数据就会生成一整个独立的JSON并输出,最终就会出现多个JSON拼接的错误结果。同时你定义list字段时额外嵌套了一层数组结构,也不符合预期格式要求。

修复方案

将固定结构的初始化放在循环外,循环过程中仅向list字段追加单条数据,循环结束后统一执行JSON编码输出即可。

修正后的代码如下:

// 循环外初始化完整结构,固定字段直接赋值
$arrayName = [
    'page' => $this->input->get('type', TRUE),
    'list' => [] // 初始化list为空数组
];

// 循环仅处理list字段的内容追加
foreach ($row as $rows) :
    $arrayName['list'][] = [
        'title' => $rows['title']
    ];
endforeach;

// 全部数据组装完成后统一输出JSON
echo json_encode($arrayName);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:09:00