Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中创建乘法表_Php_Html - Fatal编程技术网

在PHP中创建乘法表

在PHP中创建乘法表,php,html,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++) { ech

我很难弄清楚为什么我的乘法表上有一个额外的“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>");
$cols=10;
$rows=10;
$number=0;
$number2=0;
回声“;
对于($r=0;$r<$rows;$r++){
回声(“”);
如果($r==0){
对于($i=0;$i<$rows;$i++){
回声('.$number2++.');
}
}
对于($c=0;$c<$cols;$c++){
如果($c==0){
回声('.$number++.');
}如果($r!=0),则为else{
回声(“.$c*$r.”);
}
}
回声(“”);
}
回声(“”);
到目前为止,它看起来不错,但第一排额外的0让我感到困扰。如果可能的话,我想保留乘法表的原始格式

这里是:

$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>");
$cols=10;
$rows=10;
$number=1;
$number2=0;
回声“;
对于($r=0;$r<$rows;$r++){
回声(“”);
如果($r==0){
对于($i=0;$i<$rows;$i++){
回声('.$number2++.');
}
}
对于($c=0;$c<$cols;$c++){
如果($c==0&$r!=0){
回声('.$number++.');
}如果($r!=0),则为else{
回声(“.$c*$r.”);
}
}
回声(“”);
}
回声(“”);
你有一个从0到10的级数。但是,在第二个for的第一个td中,您不应该从0开始,您需要从1开始,否则0将显示在第一行的末尾。这是因为您已经使用if开始了第一行,所以第二行将重复它

您只需检查
$r
是否为0(以避免重复第一行)并从1开始
$number
(遵循相同的逻辑,但从1开始)。

这是怎么回事:

$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('<th>' .$number2++.'</th>');
        }
    }
    for ($c = 0; $c <= $cols; $c++){
        if ($c == 0) {
            echo('<th>' .$number++.'</th>');
        } else if ($r != 0) {
            echo( '<td>' .$c*$r.'</td>');
        }
    }
    echo('</tr>');
}

echo "</table>";
$cols=10;
$rows=10;
$number=0;
$number2=0;
回声“;

对于($r=0;$r,因为您在递增之前会回显它?
++number
可能会有所帮助,但是为什么不使用
$i
并从$i=1开始呢?我仍然希望保留乘法表的原始格式,但是我尝试了这段代码,似乎有一个“1”挂在第一排的末尾。是的!太棒了,谢谢你解释我在那里做错了什么。我花了将近2个小时试图弄清楚这一点。:)这几乎很好,但我也希望保持乘法表最多为9,如果可能的话,在第一排的最后还有一个0,“我还是想摆脱它。”TonyTaiNguyen给我一点时间。直到9点,并去除重叠部分<代码>:)