如何在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
相关产品推荐
相关产品推荐

