Я пытаюсь создать таблицу умножения с помощью PHP, но в моем коде пропущен номер 1, я не знаю, почему. Не могли бы вы, ребята, помочь мне решить эту проблему. Большое спасибо.
<?php
$codeHTML = '<html>
<head>
<meta charset = "utf-8">
<title>Programmation pour le Web</title>
<link rel = "stylesheet" href = "style.css">
<script src = "script.js"></script>
</head>';
$codeHTML .= '<body><h1> Table de multiplication </h1>
<table border = "2" width = "100">';
// Creation de la table
for($i = 1; $i < 6; $i++){
$codeHTML .= '<tr>';
for($j = 1; $j < 6; $j++){
$p = $i*$j;
$codeHTML .= "<td> $p </td>";
}
$codeHTML .= '</tr>';
}
$codeHTML .= '</table>
</body>
</html>';
echo $codeHTML;
?>
И я хочу, чтобы вывод был похож на:
x 1 2 3 4 5
1 1 2 3 4 5
2 2 4 6 8 10
3 3 6 9 12 15
4 4 8 12 16 20
5 5 10 15 20 25
В моей таблице умножение начинается только с числа 2, хотя число 1 находится в верхнем левом углу таблицы
Итак, вы хотите, чтобы 1 2 4 8 10 был в первом ряду?
Я хочу иметь в первой строке число от 1 до 6 и в первом столбце от 1 до 6 и умножения в середине таблицы
Просто отредактируйте свой вопрос, указав полный пример желаемого результата, все строки и столбцы.
Когда вы предоставляете ожидаемый результат, вам гораздо проще помочь, вот что вам нужно:
<?php
$codeHTML = '<html>
<head>
<meta charset = "utf-8">
<title>Programmation pour le Web</title>
<link rel = "stylesheet" href = "style.css">
<script src = "script.js"></script>
</head>';
$codeHTML .= '<body><h1> Table de multiplication </h1>
<table border = "2" width = "100">';
$codeHTML .= "<tr> <td>x</td>";
for($i = 1; $i <= 6; $i++) {
$codeHTML .= "<td>$i</td>";
}
$codeHTML .= '</tr>';
for($i = 1; $i <= 6; $i++){
$codeHTML .= '<tr>';
$codeHTML .= "<td>$i</td>";
for($j = 1; $j <= 6; $j++){
$p = $i*$j;
$codeHTML .= "<td> $p </td>";
}
$codeHTML .= '</tr>';
}
$codeHTML .= '</table>
</body>
</html>';
echo $codeHTML;
?>
Выход:
x 1 2 3 4 5 6
1 1 2 3 4 5 6
2 2 4 6 8 10 12
3 3 6 9 12 15 18
4 4 8 12 16 20 24
5 5 10 15 20 25 30
6 6 12 18 24 30 36
Я хочу что-то вроде этого: x 1 2 3 4 5 6 в первой строке/столбце
@Mehdi Вы можете добиться этого, не используя еще один цикл foreach. Проверьте мой ответ. stackoverflow.com/a/75075929/2437590
Это то, чего ты хочешь?
<?php
$codeHTML = '<html>
<head>
<meta charset = "utf-8">
<title>Programmation pour le Web</title>
<link rel = "stylesheet" href = "style.css">
<script src = "script.js"></script>
</head>';
$codeHTML .= '<body><h1> Table de multiplication </h1>
<table border = "2" width = "100">';
for ( $i = 0; $i < 6; $i ++ ) {
$codeHTML .= '<tr>';
for ( $j = 0; $j < 6; $j ++ ) {
$p = $i * $j;
if ( 0 == $i && 0 == $j ) {
$p = 'x';
} elseif ( $j == 0 ) {
$p = $i;
} elseif ( $i == 0 ) {
$p = $j;
}
$codeHTML .= "<td> $p </td>";
}
$codeHTML .= '</tr>';
}
$codeHTML .= '</table>
</body></html>';
echo $codeHTML;
Это выведет:
Что значит "номер 1 пропущен"? Чего вы хотите достичь, не могли бы вы предоставить ожидаемый результат?