我在弄清楚为什么会有额外的" 0"我的乘法表上的框,这是我到目前为止的代码:
$cols = 10;
$rows = 10;
$number = 0;
$number2 = 0;
echo "<table border=\"1\">";
for ($r = 0; $r < $rows; $r++){
echo('<tr>');
if ($r == 0) {
for ($i = 0; $i < $rows; $i++) {
echo('<td>' .$number2++.'</td>');
}
}
for ($c = 0; $c < $cols; $c++){
if ($c == 0) {
echo('<td>' .$number++.'</td>');
} else if ($r != 0) {
echo( '<td>' .$c*$r.'</td>');
}
}
echo('</tr>');
}
echo("</table>");
到目前为止它看起来不错,但第一行额外的0正在困扰我。另外,如果可能的话,我想保留乘法表的原始格式。
答案 0 :(得分:2)
这是:
$cols = 10;
$rows = 10;
$number = 1;
$number2 = 0;
echo "<table border=\"1\">";
for ($r = 0; $r < $rows; $r++){
echo('<tr>');
if ($r == 0) {
for ($i = 0; $i < $rows; $i++) {
echo('<td>' .$number2++.'</td>');
}
}
for ($c = 0; $c < $cols; $c++){
if ($c == 0 && $r != 0) {
echo('<td>' .$number++.'</td>');
} else if ($r != 0) {
echo( '<td>' .$c*$r.'</td>');
}
}
echo('</tr>');
}
echo("</table>");
你有从0到10的进展。但是,在第二个的第一个td中,你不应该从0开始,你需要从1开始,否则0将在第一行结束时显示。因为你已经使用if开始了第一行,所以第二行将重复它。
您只需检查$r
是否为0(以避免重复第一行)并从1开始$number
(遵循相同的逻辑,但从1开始)。
答案 1 :(得分:0)
这个怎么样:
tomcat8-admin