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

PHP循环赋值问题:如何生成含多个id对象的JSON数组数据

解决PHP生成指定格式JSON数组的问题

嘿,我看出来你现在的代码问题啦——每次循环都会覆盖$data里的id值,最后只能得到单个对象,而不是你想要的数组格式。咱们调整一下代码逻辑就能搞定:

原代码的问题

你原来的代码里,$data["id"] = $price->id;这行在循环里会不断覆盖同一个键的值,最后$data只会保留最后一条price的id,所以生成的JSON里data是单个对象,而不是数组。

修改后的代码

// 先初始化$data为空数组,用来存放所有id对象
$data = [];
foreach($prices as $price) {
    // 每次循环创建一个新的[id => 值]数组,追加到$data里
    $data[] = ["id" => $price->id];
}
$result["data"] = $data;

// 如果需要输出JSON字符串,记得用json_encode转换
echo json_encode($result);

为什么这样改?

  • 先把$data初始化为空数组,这样它就能承载多个对象元素
  • 循环里用$data[] = ...的方式,每次把新的包含当前id的对象追加到数组末尾,而不是覆盖之前的值
  • 最后$result["data"]就会是一个包含多个{"id": xxx}对象的数组,正好符合你想要的JSON格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:25:22