PHP foreach循环输出HTML表格行无法紧邻排列如何解决
PHP渲染JSON数据生成HTML表格内容错位、无法紧邻排列问题修复
问题相关代码
当前使用的表格遍历渲染代码:
<?php foreach($data2 as $row): ?> <tr> <td><?=$row['model'];?></td> <td><?=$row['model2'];?></td> </tr> <?php endforeach;?>
问题相关截图
- 异常渲染效果:

- 原始JSON数据源:

修复方案
按优先级依次排查处理:
- 清理字段首尾不可见字符
90%以上的这类错位问题,都是JSON解析后的字段值携带了首尾换行、制表符、不可见空白字符,直接输出到td标签内导致内容被空白撑开。渲染时用trim()函数处理字段值即可:<?php foreach($data2 as $row): ?> <tr> <td><?= trim($row['model']); ?></td> <td><?= trim($row['model2']); ?></td> </tr> <?php endforeach; ?> - 校验JSON解析逻辑
确认json_decode()调用时第二个参数传true将结果转为关联数组,同时添加错误捕获避免解析失败生成脏数据:// JSON解析参考写法 $rawJson = 你的JSON原始字符串; $data2 = json_decode($rawJson, true, 512, JSON_THROW_ON_ERROR); - 重置表格单元格样式
检查页面CSS中td、tr相关样式,清除多余的内边距、文本缩进属性导致的额外空白:td { padding: 3px 6px; /* 按需设置合理边距 */ text-indent: 0; margin: 0; }
内容的提问来源于stack exchange,提问作者Daxter112
相关产品推荐
相关产品推荐

