#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>";
}