例1:編寫一個程序,可以接收一個整數,打印金字塔的一半。
<?php
for($i=0;$i<=5;$i++){
for($t=0;$t<$i;$t++){
echo '*';
}
echo '<br />';
}
?>
效果如下圖:
例2:打印實心金字塔。
分析:
* ->1層,2個空格,1個星號 *** ->2層,1個空格,3個星號 ***** ->3層,0個空格,5個星號 空格個數=層數最大值-$i 星號的個數=($i-1)*2+1
<?php
for ($i = 1; $i <= 5; $i++) {
//在打印星號前,先打印空格
for ($k = 1; $k <= 5 - $i; $k++) {
echo " ";
}
//打印星號
for ($j = 1; $j <= ($i - 1) * 2 + 1; $j++) {
echo '*';
}
echo '<br />';
}
?>
結果如下圖:
例:打印空心金字塔
<?php
$n = 10;
for ($i = 1; $i <= $n; $i++) {
//在打印星號前,先打印空格
for ($k = 1; $k <= 10 - $i; $k++) {
echo " ";
}
//打印星號
for ($j = 1; $j <= ($i - 1) * 2 + 1; $j++) {
//第1層和最後1層沒有變化,全部打印*
if ($i == 1 || $i == $n) {
echo '*';
} else {
if ($j == 1 || $j == ($i - 1) * 2 + 1) {
echo '*';
} else {
echo " ";
}
}
}
echo '<br />';
}
?>
效果如下圖:
URL:http://www.bianceng.cn/webkf/PHP/201608/50399.htm