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

PHP无法遍历json_decode解析后的数组输出内容求助

解决PHP遍历JSON解析后数组的问题

问题根源

  1. 你调用json_decode($result, true)时传入了第二个参数true,这会让函数返回关联数组而非对象,因此不能用->访问元素,必须用数组下标[]。
  2. 遍历路径错误:数组结构里$decodedData['data']是包含多个元素的数组,每个元素下是node键,不存在array这个层级。

修正后的代码

// 解码JSON为关联数组
$decodedData = json_decode($result, true);

// 初始化输出字符串
$output = '';

// 遍历data数组
foreach ($decodedData['data'] as $item) {
    // 取出node内的字段
    $title = $item['node']['title'];
    $id = $item['node']['id'];
    $url = $item['node']['main_picture']['medium']; // 若需要大图可替换为'large'
    
    // 按期望格式拼接内容
    $output .= "{$title}, {$id}, {$url}-";
}

// 移除末尾多余的"-"并输出
echo rtrim($output, '-');

代码说明

  • 严格按照数组结构层级,用[]访问关联数组元素,匹配$decodedData['data']→单个元素→['node']→对应字段的路径。
  • 通过rtrim($output, '-')清除最后一个多余的分隔符,最终输出符合你要求的格式:Title 1, ID, URL-Title 2, ID, URL-Title 3, ID, URL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 07:33:22