用PHP创建星形模式for循环 [英] make star patterns with PHP for loop
问题描述
*
*** 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屋!