发布网友 发布时间:2022-04-23 06:03
共3个回答
懂视网 时间:2022-04-07 09:57
对于很多PHP初学者来说,初期阶段培养逻辑思维能力是非常有必要的。用PHP代码来生成金字塔的这个过程,就可以很好的培养初学者的逻辑思维能力。下面我们来详细讲解一下PHP生成金字塔的整个过程。1、生成金字塔的效果图:
2、代码实现过程:
<html> <body> <?php for($i=1;$i<=5;$i++){ for($n=1;$n<=(5-$i);$n++) //控制输出空格 echo ' '; for($s=1;$s<=(2*$i-1);$s++) //控制输出星号 echo '*'; echo '<br />'; } ?> </body> </html>
3、逻辑:
(1)星号左右的空格如何实现:
空格的话用   代表。以5层来说空格是4 》 3 》 2 》1 》 0
第1层 空格是 4 (总层数-第几层)(5-1)
第2层 空格是 3 (总层数-第几层)(5-2)
第3层 空格是 2 (总层数-第几层)(5-3)
第4层 空格是 1 (总层数-第几层)(5-4)
第5层 空格是 0 (总层数-第几层)(5-5)
那么可以用for循环来for($n=1;$n<=(总层数-第几层);$n++) echo ' ';
(2)输出星号:
星号的话以5层来说:1 》 3 》5 》7 》9
发现是奇数那么可以用2(n)的次方来表示
1 = 2*1 -1
3 = 2*2 -1
5 = 2*3 -1
7 = 2*4 -1
9 = 2*5 -1
这里的乘以1 2 3 4 5是层数,那么输出星号for($s=0;$s<=(层数);$s++) echo '*';
热心网友 时间:2022-04-07 07:05
首先第一个for循环:$i<=5代表依次循环金字塔的层数,每循环一次层数则同时执行一次内层的两个for循环,然后层数加1准备第二次循环;第二个for循环:这里循环的是空格,$k<=5-$i指空格数与当前层级数的关系,比如现在是第一层那么空格数为5-1=4,得到空格数之后接着循环星星*,$j <=2*$i-1即是*与层数的关系,第一层为一个2*1-1=1,第二层为2*2-1=3.....在下面是循环完了空格和*后输出换行符,即换下一层,下图是实现效果
热心网友 时间:2022-04-07 08:23
注释已经说的很清楚了,还需要什么讲解?