Я попытался сделать имена переменных описательными:
<table>
<?php
// Set the number of rows, cols, and starting number here:
$number_rows = 3;
$number_cols = 5;
$starting_num = 0;
// You can use foreach w arrays... much easier
$rows = range(0,$number_rows - 1);
$cols = range(0,$number_cols - 1);
foreach($rows as $one_row) {
?>
<tr>
<?php
foreach($cols as $one_col) {
// Do the calculation
echo "<td>" .
($starting_num + $one_col + ( max($rows) * $one_col ) + $one_row) .
"</td>";
}
?>
</tr>
<?php
}
?>
</table>
Рабочий пример как в ОП.
Теперь скажем, что выхотите перейти от (1300-1431), затем вы начинаете с 1300 и хотите 4 х 8.
$number_rows = 8;
$number_cols = 4;
$starting_num = 1300;
Как это.
Есть два «трюка».
Первый использует range () для быстрого определения целых чисел массива.Я считаю, что с массивами работать приятнее, чем с необработанными числами, поскольку с массивами можно работать с помощью интуитивно понятной конструкции foreach () .
Второе вычислениекак узнать, какое число печатать, если у вас есть столбец, строка и начальный номер.Проще всего выяснить числа для первого ряда и перейти оттуда.Давайте нумеруем строки и столбцы от 0. Таким образом, col: 0 row: 0 будет начальным числом.Столбец: 1 Строка: 0, число справа, будет просто начальным номером + один (номер столбца) + количество строк меньше единицы (легче всего увидеть, посмотрев на матрицу числа), и числострок меньше единицы - это максимальное число в массиве строк.Итак, для первой строки у нас есть:
$starting_num + $one_col + ( max($rows) * $one_col )
, затем все мы просто добавляем номер строки, чтобы учесть это, и у нас есть все:
$starting_num + $one_col + ( max($rows) * $one_col ) + $one_row