我希望在php中使用for循环以下输出

时间:2014-06-24 06:11:33

标签: php

我想像这样显示输出

1        1
12      21
123    321
1234  4321
1234554321

这是我的PHP代码

  for($i=1;$i <= 5;$i++)
{
    for($j=1;$j<=$i;$j++)
    {
    // print the result 
     echo "$j";


    }
    for($y=$i;$y<=$i;$y++)
    {
      echo '&nbsp;&nbsp;';
    }
    for($k=$i;$k>=1;$k--)
     {

    // print the result 
      echo "&nbsp;$k";}

    echo "<br/>";
}

但是我得到了像这样的输出

1   1
12   2 1
123   3 2 1
1234   4 3 2 1
12345   5 4 3 2 1

请帮我看一下上面的输出。

6 个答案:

答案 0 :(得分:4)

for($i=1;$i <= 5;$i++) {
    for($j=1;$j<=$i;$j++) {
      echo "$j";
    }
    for($y=0;$y<(5-$i)*4;$y++) {
      echo '&nbsp;';
    }
    for($l=$i;$l>0;$l--) {
      echo "$l";
    }
    echo "<br/>";
}

输出: -

1        1
12      21
123    321
1234  4321
1234554321

对于浏览器视图: - for($y=0;$y<(5-$i)*4;$y++)其他正确的方法是for($y=0;$y<(5-$i)*2;$y++)

答案 1 :(得分:2)

你有没有关于PHP函数str_repeatrange

的信息

http://php.net/manual/en/function.str-repeat.phphttp://php.net/manual/en/function.range.php

有了它,您可以打印&nbsp;这样的字符:

echo str_repeat('&nbsp;', (5 -$i) *4);

完整代码

$count = 5; // count oft rows and oft iterated numbers

for ($i = 1; $i <= $count; $i++) {
    echo implode('', range(1, $i));
    echo str_repeat('&nbsp;', ($count -$i) *4);
    echo implode('', array_reverse(range(1, $i)));
    echo '<br />';
}

答案 2 :(得分:0)

这个怎么样?

for($i=1;$i<=5;$i++){
   echo substr("12345", 0, $i);
   echo str_repeat(5-$i, '&nbsp;');
   echo str_reverse(substr("12345", 0, $i));
   echo '<br>';
}

答案 3 :(得分:0)

试试这个:

  for($i=1;$i <= 5;$i++)
  {
    for($j=1;$j<=$i;$j++)
    {
     echo "$j";
    }

    for($y=1;$y<=10-(2*$i);$y++)
    {
      echo '&nbsp;';
    }

    for($k=$i;$k>=1;$k--)
    {
     // print the result 
      echo "$k";
    }

    echo "<br/>";
  }

<强>输出:

1        1
12      21
123    321
1234  4321
1234554321

答案 4 :(得分:0)

$y<= 2 * (5 - i)

如何做到这一点
for($i=1;$i <= 5;$i++) {

    for($j=1;$j<=$i;$j++) {
       echo "$j";
    }

    for($y=1;$y<= 2 * (5 - i); $y++) {
       echo '&nbsp;';
    }

    for($k=$i;$k>=1;$k--) {
       echo "$k";
    }

   echo "<br/>";
}

答案 5 :(得分:-1)

for ($counter=1;$counter<= 5;$conter++)
{
   for ($j=1;$j<=$counter;$j++)
   {
       echo "$j";
   }

   for ($y=1;$y<=10-(2*$counter);$y++)
   {
       echo '&nbsp;';
   }

   for ($k=$counter;$k>=1;$k--)
   {
       echo "$k";
   }
   echo "<br/>";
}