乗算 "グリッド"

私はPHPで単純な乗算グリッドを作成しようとしています

2x2グリッドのような形式でなければなりません:

0 1 2
1 1 2
2 2 4

私の問題は0から始めることになっています。

これはこれまでの入れ子のforループです:

 for($i=0;$i<=$_POST['rows'];$i++)
                {
                        echo "<tr>";
                        for($j=0;$j<=$_POST['columns'];$j++)
                        {
                                if($i==0)
                                {
                                        echo "<td>" . 1*$j . "</td>";
                                }
                                else
                                {
                                        $mult = $i * $j;
                                        echo "<td> $mult </td>";
                                }
                        }
                        echo "</tr>";
                }

しかしそれは出力を与える:

0   1   2
0   1   2
0   2   4 

私は適切な0の列が必要です。

0
nl ru de

3 答え

0 1 2 3 の一番上の行を取得する方法は、X軸の特別な場合です。 Y軸( $ j )と同様の特殊ケースを実行します。

if ($i == 0) {
    ... 1 * $j ...
}
else if ($j == 0) {
    ... $i * 1 ...
}
else {
    ... $i * $j ...
}
1
追加された

私はあなたのグリッドを構築する方法を理解していません。必要なのは、行インジケータと、乗算の数が入れ子にされたループではないことだけです。 Second:ループの中でケースをキャッチするのではなく、1で始めるのはなぜでしょうか。これは私の乗法 "グリッド"

<?php
    $rows = $_POST['rows'];
    $number = $_POST['columns'];

    for( $i=1; $i <= $rows; $i++) {
        $mult = $i * $number;
        echo "<tr>
                <td>" . $i.'*'. $j . "</td>
                <td>".$mult."</td>
            </tr>";
    }
?>

これは単純なグリッド(x * y)=結果になります。完全な乗算表が必要な場合は、次のようになります。

<?php
    $rows = $_POST['rows'];
    $number = $_POST['columns'];
    echo "<tr><th></th>";
    for( $j=1; $j <= $number; $j++) {
         echo "<th>".$j."</th>";
    }
    echo "</tr>";
    for( $i=1; $i <= $rows; $i++) {
        echo "<tr>";
         echo "<th>".$i."</th>";
         for( $j=1; $j <= $number; $j++) {
                $mult = $i * $j;
                echo "<td>".$mult."</td>";
        }
        echo "</tr>";
    }
?>
0
追加された

特殊なケースとして $ i == 0 だけでなく、 $ j == 0 も持っています:

if($i==0)
{
    echo "<td>" . 1*$j . "</td>";
}
elseif($j==0)
{
    echo "<td>" . $i*1 . "</td>";
}
else
{
    $mult = $i * $j;
    echo "<td> $mult </td>";
}
0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com