如何用PHP代码生成金字塔

对于很多PHP初学者来说,初期阶段培养逻辑思维能力是非常有必要的。用PHP代码生成金字塔的这个过程,就可以很好的培养初学者的逻辑思维能力。下面我们来详细讲解一下PHP生成金字塔的整个过程。

1、生成金字塔的效果图:

$}7(E95GNS6`FKHUE7C0UWN.png

2、代码实现过程:

<html>
<body>
<?PHP
 for($i=1;$i<=5;$i++){
 for($n=1;$n<=(5-$i);$n++) //控制输出空格
 echo '&nbsp;'; 
 for($s=1;$s<=(2*$i-1);$s++)  //控制输出星号
 echo '*';  
 echo '<br />';
 }
?>
</body>
</html>

3、逻辑:

(1)星号左右的空格如何实现:

空格的话用 &nbsp 代表。以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 '*';

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...