在PHP

时间:2015-08-09 16:38:08

标签: php html

我在弄清楚为什么会有额外的" 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正在困扰我。另外,如果可能的话,我想保留乘法表的原始格式。

2 个答案:

答案 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