php打印出空心金字塔

先确定金字塔的每行几个星号,在想想怎么给每行的前面添加空格,接着在非首尾行里添加空格。


function printgraph($n) {

//控制行数
for ($i = 1; $i <= $n; $i++) {
//打印出前面的空格。              为什么在这里不能直接打入空格键,必须是&nbsp而在如echo 'a'.' ';里 可以直接打入空格键?
for ($k = 0; $k < $n-$i; $k++) {   
echo '&nbsp';
}
//打印每行的东西
for ($j = 1; $j <= $i*2-1; $j++) {
if ($i == 1 || $i == $n) {   //判断是否是首位两行,是,全部打印,不是,则是中间行,则进入下面的else
echo '*';
}
else{                            //进到这个else即表示是中间行,$j是负责打印每行上面的物件的,所以判断
if ($j == 1 || $j == $i*2-1)  //$j是否是第一个或者是最后一个,是,则打印星号,不是,则打印空格。
{
echo '*';
}
else {
echo '&nbsp';
}
}
}
//每行打印完进行换行
echo '<br/>';
}
}


printgraph(10);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值