使用嵌套PHP For循环生成二维HTML表格,但禁止用PHP输出表格标签的技术问题
问题分析与修正方案
嘿,我一眼就看到你代码里的两个小问题啦,咱们来逐个解决:
第一个问题:多余的闭合标签
你在代码最后、</table>之前多写了一个</tr>,这会导致HTML结构不合法,浏览器渲染时会出现异常,得把这个多余的标签删掉。
第二个问题:变量未输出到页面
在<td>里的<?php$r?>只是引用了变量,但并没有把它的数值输出到页面上。PHP要输出内容,需要使用echo语句,或者用更简洁的短输出标签<?= ?>(这个标签是<?php echo ?>的简写,大部分服务器环境默认支持)。
修正后的完整代码
<table id="tab1"> <?php for ($row = 0; $row <= 10; $row++) { ?> <tr> <?php for ($col = 0; $col < 10; $col++) { $r = rand(10,100); ?> <td> <?php echo $r; ?> </td> <?php }?> </tr> <?php }?> </table>
如果想用更简洁的写法,也可以用短输出标签:
<table id="tab1"> <?php for ($row = 0; $row <= 10; $row++) { ?> <tr> <?php for ($col = 0; $col < 10; $col++) { $r = rand(10,100); ?> <td><?= $r ?></td> <?php }?> </tr> <?php }?> </table>
这样修改后,代码就能正常生成带随机数的表格,而且完全符合「PHP不输出表格标签」的要求——所有<table>、<tr>、<td>都是直接写在HTML里的,PHP只负责输出随机数字~
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

