PHP如何将嵌套JSON转换的数组数据循环渲染到HTML表格
现有代码的问题
- 遍历对象错误:你当前循环的是整个接口返回的
$profile大数组,实际要渲染的用户数据都存储在$profile['data']子数组中,应该遍历该数组才对。 - 序号初始化位置错误:
$no = 1写在了foreach循环内部,每次循环都会重置为1,最终所有行的序号都会显示为1,需要放到循环外初始化。 - 取值固定写死:所有字段都固定取
$profile['data'][0]的内容,不管循环多少次都只会输出第一条用户的数据,应该直接使用循环遍历得到的单条用户变量取值。 - 头像未渲染为图片:直接输出头像链接只会显示文本地址,需要套入
<img>标签才能正常渲染头像。
修正后的代码
<table> <thead> <tr> <th>序号</th> <th>名字</th> <th>姓氏</th> <th>ID</th> <th>头像</th> </tr> </thead> <tbody> <?php $no = 1; ?> <?php foreach ($profile['data'] as $pro) { ?> <tr> <td><?= $no++; ?></td> <td><?= $pro['first_name'] ?></td> <td><?= $pro['last_name'] ?></td> <td><?= $pro['id'] ?></td> <td><img src="<?= $pro['avatar'] ?>" alt="用户头像" width="50"></td> </tr> <?php } ?> </tbody> </table>
内容的提问来源于stack exchange,提问作者Fathul Muiin
相关产品推荐
相关产品推荐

