Как сократить код (таблица умножения на php)?

71
18 июня 2019, 06:50

В общем, начал изучать php и в ходе изучения решил поставить перед собой задачу, вывести на экран таблицу умножения. Составил такой код:

$a = 1;
$b = 1;
$c = 0;
while ($c <= 100)
{
if     ($c == 10 AND $b != 2 AND $b != 5 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
elseif ($c == 20 AND $b != 4 AND $b != 5 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
elseif ($c == 30 AND $b != 5 AND $b != 6 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
elseif ($c == 40 AND $b != 5 AND $b != 8 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
elseif ($c == 50 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
elseif ($c == 60 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
elseif ($c == 70 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
elseif ($c == 80 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
elseif ($c == 90 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
elseif ($c == 100 AND $b != 10)
{
    $b++;
    $a-=10;
    echo "<br>";
}
$c = $a * $b;
echo "$a*$b=$c<br>";
$a++;
}

Вроде бы все есть, но встал другой вопрос, а как можно его сократить? Сам думал внести еще одну инструкцию while, но там возникли свой проблемы, которые я решить не смог, подскажите, как этот кож можно было бы сократить.

Answer 1
foreach(range(0,10) as $i){
    echo "**********\n";
    foreach(range(0,10) as $j){ 
        $result = $i * $j;
        echo "${i} * ${j} = ${result}\n";
    }
}

Результат:

**********
0 * 0 = 0
0 * 1 = 0
0 * 2 = 0
0 * 3 = 0
0 * 4 = 0
0 * 5 = 0
0 * 6 = 0
0 * 7 = 0
0 * 8 = 0
0 * 9 = 0
0 * 10 = 0
**********
1 * 0 = 0
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
1 * 10 = 10
**********
2 * 0 = 0
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
2 * 10 = 20
**********
3 * 0 = 0
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
3 * 10 = 30
**********
4 * 0 = 0
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
4 * 10 = 40
**********
5 * 0 = 0
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
**********
6 * 0 = 0
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
6 * 10 = 60
**********
7 * 0 = 0
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
7 * 10 = 70
**********
8 * 0 = 0
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
8 * 10 = 80
**********
9 * 0 = 0
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
9 * 10 = 90
**********
10 * 0 = 0
10 * 1 = 10
10 * 2 = 20
10 * 3 = 30
10 * 4 = 40
10 * 5 = 50
10 * 6 = 60
10 * 7 = 70
10 * 8 = 80
10 * 9 = 90
10 * 10 = 100
READ ALSO
Вывод данных из Базы данных tpl

Вывод данных из Базы данных tpl

Решил я написать модуль для одного движка (DLE) Но столкнулся с проблемой, можно ли выводить информацию из tpl файлов с помощью php? Если да, то как...

94
Как передать данные в файл с шаблоном

Как передать данные в файл с шаблоном

Каким образом можно сделать метод класса, которому можно передать 2 аргумента:

97
Бот на Callback API VK

Бот на Callback API VK

У меня есть бот на Callback API, работает он так получает команду и выводит ответ для неё, пример:

91
Не срабатывает условие if not in

Не срабатывает условие if not in

Мне нужно вести все товары в заказах без повторенийВ этом примере в двух разных заказах содержится один и тот же товар

78