Создание «сетки» умножения

Я пытаюсь создать простую сетку умножения в PHP

Он должен иметь формат, например, для сетки 2x2:

0 1 2
1 1 2
2 2 4

Моя проблема заключается в том, чтобы начать с нуля.

Это мой привязанный цикл:

 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 ja de

3 ответы

То, как вы получаете верхнюю строку 0 1 2 3 , - это специальный случай на оси X. Сделайте аналогичный специальный случай для оси Y ( $ j ):

if ($i == 0) {
    ... 1 * $j ...
}
else if ($j == 0) {
    ... $i * 1 ...
}
else {
    ... $i * $j ...
}
1
добавлено

Я не понимаю, как вы строите свою сетку. Все, что вам нужно, это индикатор строки, а число для умножения - не вложенный цикл. Второе: почему бы вам не начать с 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) = result. Если вы хотите получить полную таблицу умножения, это будет примерно так:

<?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
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp