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

如何在PHP中使用foreach循环遍历API JSON数据生成完整表格?

解决API数据遍历显示问题

嘿,我来帮你搞定这个问题!你现在只能拿到第一条数据,是因为代码里直接指定了submissions[0]——也就是数组的第一个元素。要展示所有返回的条目,咱们只需要用foreach循环遍历整个$json->submissions数组就行,具体修改后的完整代码如下:

// 确保$json已经是解析完成的API返回数据对象
?>
<table class="table table-bordered">
  <thead>
    <tr>
      <th>Name</th>
      <th>Steam URL</th>
    </tr>
  </thead>
  <tbody>
    <?php foreach ($json->submissions as $submission): ?>
      <tr>
        <td><?php echo htmlspecialchars($submission->data->name); ?></td>
        <td><?php echo htmlspecialchars($submission->data->steam); ?></td>
      </tr>
    <?php endforeach; ?>
    
    <!-- 可选:如果没有数据时显示提示 -->
    <?php if (empty($json->submissions)): ?>
      <tr>
        <td colspan="2">暂无提交数据</td>
      </tr>
    <?php endif; ?>
  </tbody>
</table>

我给你拆解一下关键修改点:

  • 去掉了原来单独赋值$name和$steam的代码,改用foreach循环遍历每一条submissions数据,每次循环里的$submission就是当前条目的对象
  • 把表格内容里的<th>改成了<td>,表头已经用<th>了,表格内容用<td>更符合HTML语义规范
  • 加上了htmlspecialchars()函数,用来转义内容里的特殊字符,避免XSS安全问题,这是开发里的好习惯哦
  • 额外加了空数据判断,当API没有返回任何条目时,会显示友好的提示信息

这样修改后,所有从API获取到的submissions数据都会被遍历并显示在表格里啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:12:33