我正在尝试在php上打印一个8x8网格,任何人都可以查看这段代码是我做错了什么
$row = 0;
$col = 0;
print "<form>";
while ($row <= 8){
print "<tr>";
$row++;
while ($col <= 8){
print "<td>";
print "<input type="checkbox" name="battle" value="ships">";
print "</td>";
$col++;
}
print "</tr>";
)
print "</form>";
答案 0 :(得分:2)
$out = "<tr>";
for($i = 0; $i < 8*8; $i++){
if($i && $i % 8 == 0)
$out .= "</tr><tr>";
$out .= "<td>..</td>";
}
$out .= "</tr>";
echo $out;
答案 1 :(得分:1)
几个错误。正确的代码应该是:
$row = 0;
print "<form>";
print "<table>";
while ($row < 8){ // Counts to 8. (from 0...7 = 8 times. 0 ... 8 = 9 times)
print "<tr>";
$row++;
$col = 0; // reset column to 0 each time printing one row.
while ($col < 8){
print "<td>";
print "<input type=\"checkbox\" name=\"battle\" value=\"ships\">";
// Add \ before " otherwise it will treat as the end of the quote.
print "</td>";
$col++;
}
print "</tr>";
}
print "</table>";
print "</form>";
希望这有帮助。
答案 2 :(得分:0)
使用while($row < 8)
和while($col < 8)
(而不是<=
),否则您将打印9x9表格。
使用checkbox
,battle
和ships
的单引号。如果在内部使用双引号,外部引号会将表达式视为"<input type=" , checkbox, " name=", battle, " value=", ships, ">"
(语法错误)。
对于语法问题,它有助于使用IDE - 浏览器中的一个好的是ideone.com。您可以启用语法突出显示。
答案 3 :(得分:0)
几个问题......一对夫妇坚持:
您正在使用条件$col <= 8
。如果您的值从0开始,这将迭代9次,因为0到8是9个数字。当使用基数0并有限地计数时,总是只使用<
(小于)你的最大值,因为它基本上使你的结束数减少一个,弥补了0基数。
你的最后一个右括号应该是一个右括号。您使用while
启动{
,因此您需要使用}
而非)
完成此操作。