Wap программа для печати 3 строк и 3 столбцов от 1 до 12 в php

#php

#php

Вопрос:

Я хочу напечатать число от 1 до 12 в матричном виде, и ожидаемый результат равен:

 1 5 9 
2 6 10
3 7 11
4 8 12
  

код:

 <?php   
for ($i=1; $i<=12; $i  )    
{    
    for($j=1;$j<=$i;$j  )     
    {       
        echo $i." ";     
    }       
    echo "<br/>";       
}  
?>
  

Я получил неверный вывод. Итак, как я могу получить ожидаемый результат, как я упоминал выше? Пожалуйста, помогите мне.

Спасибо

Ответ №1:

Некоторый «волшебный» код):

 foreach (range(1,4) as $num) {
    echo implode(' ', range($num,12,4)) . '<br />';
}
  

Версия с for :

 for ($i = 1; $i <= 4; $i  ) {
    for ($j = $i; $j <= 12; $j  =4) {
        echo $j . ' ';
    }
    echo '<br />';
}
  

Комментарии:

1. Пожалуйста, замените PHP_EOL на <br/> .

2. @Ученик спасибо, исправлено. Также добавлена версия с for .

3. Мне нравится двойное использование range .

Ответ №2:

 $z=0;
   for ($x = 1; $x <= 4; $x  ) 
{
       echo " $x ";
       $z=$x;
            for ($y = 1; $y <= 2; $y  ) 
{
                $z=$z 4;
                echo " $z ";
            }
        echo "n";
    }
  

Комментарии:

1. Приведенный выше код является другим решением в соответствии с моей логикой

Ответ №3:

$maxRow = 4;

$maxColumn = 3;

 for ($row = 1; $row <= $maxRow; $row  )
{
    for ($column = 1; $column <= $maxColumn; $column  ) {
        $number = $row   4*($column-1);
        echo $number." ";
    }

    echo "<br/>";
}
  

Ответ №4:

должно работать

 foreach (range(1, 4) as $res) {
    echo implode(' ', range($res, 12, 4));
    echo "<br>";
}