1 ---> 1
2 3 ---> 2
4 5 6 ---> 3
7 8 9 10 ----> 4
Если вы заметили выше, каждая строка имеет столько чисел. Например, строка № 1 имеет 1 элемент, строка № 2 имеет 2 элемента и так далее.
Таким образом, вы можете запустить al oop для количества строк и внутри него, еще один l oop для такого количества строк.
Что касается чисел в нем, у вас может быть простой указатель, который продолжает увеличиваться независимо от номера строки.
Фрагмент:
<?php
$number = 1;
for($line_no = 1;$line_no <= 5; ++$line_no){
for($line_no_times = 1;$line_no_times <= $line_no; ++$line_no_times){
echo $number++," ";
}
echo PHP_EOL; // new line
}
Демонстрация: https://3v4l.org/mYHJS
Обновление:
Как подсказывает @ HashBrown в комментариях, вы можете вести подсчет количества напечатанных чисел в определенной строке. Если число соответствует номеру строки, просто выведите новую строку.
Фрагмент:
<?php
$number = 1;
$count = 0;
$row = 1;
while($row < 6){
echo $number++, " ";
$count++;
if($row == $count){
$count = 0;
$row++;
echo PHP_EOL; // new line
}
}
Демонстрация: https://3v4l.org/LXFQs
И если вы умны, он предложил по модулю, который вы можете использовать, чтобы иметь не только один l oop, но и одну переменную с одним приращением на l oop:
Демо из 9
строк, javascript или php.