用PHP创建星形模式for循环 [英] make star patterns with PHP for loop

查看:167
本文介绍了用PHP创建星形模式for循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  * 
*** 0
****** 00
********** 000

然而,我得到这个结果

  * 
** 0
*** 00
**** 000
***** 0000
****** 00000

这里是我的代码


  for($ i = 0; $ i <= 10 ; $ i ++)
{
echo*; ($ j = 0; $ j< $ i; $ j ++)
{
echo*;
; ($ z = 0; $ z< $ i; $ z ++)
{
echo0;

$ b。
}
echo< / br>;
}
?>


解决方案

星号的数量用三角形数字表示, code> 1 , 1 + 2 1 + 2 + 3 你想在每次迭代中增加内循环的最大值 $ i

$ $ $ $ $ $ $ $ c> $ k = 0;
($ i = 1; $ i <= 10; $ i ++)
{
$ k + = $ i; ($ j = 1; $ j< = $ k; $ j ++)

echo*;



code
$ b这也是一个好的情况下,你的循环应该用 1 而不是 0 来初始化,因为它更直观。 0 - 当你使用数组时,基于循环的工作效果最好。


I'm trying to echo stars and zero like the pattern below

*
***0
******00
**********000

However I'm getting this result

    *
    **0
    ***00
    ****000
    *****0000
    ******00000

here is my code

for ($i=0; $i<=10; $i++)
{   
    echo "*";
    for ($j=0; $j<$i; $j++)
    {   
       echo "*";

    }
        for ($z=0; $z<$i; $z++)
            {
                echo "0";
            }       
    echo "</br>";    
} 
?>

解决方案

The number of stars is indicated by triangle numbers, 1, 1+2, 1+2+3. You want to increment your inner loop max value by $i with every iteration:

$k = 0;
for ($i=1; $i<=10; $i++)
{
    $k += $i;
    for ($j=1; $j<=$k; $j++)
    {   
       echo "*";
    }
    ...
}

This is also a good case where your loops should be initialized with 1 rather than 0, because it is more intuitive. 0-based loops work best when you are working with arrays.

这篇关于用PHP创建星形模式for循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆