首先,从简单的着手,打印出金字塔的右半部分,代码如下

<?php
  $n=5; //金字塔行数
  //外层的for循环控制层数
  for($i=1;$i<=$n;$i++){
    //内层的for循环控制每层*的个数
    for($j=1;$j<=$i;$j++){
      echo"*";
    }
    echo"<br/>"; //每一层打印完换行
  }
?>


然后打印出完整的金字塔,完整的金字塔,在上面的基础下只需要做小小的修改,

<?php
$n=5; //金字塔行数
for($i=1;$i<=$n;$i++){
//在打印*之前,先打印空格
for($k=1;$k<=$n-$i;$k++){
echo"&nbsp;";
}
//内层控制每层*的个数
for($j=1;$j<=2*$i-1;$j++){
echo"*";
}
echo"<br/>";
}
?>

注:把上面的代码复制到php文件中,会出现不知名的错误,应该是格式问题,但是代码是正确的。


然后是空心金字塔,代码如下:

 <?php
$n=5;
for($i=1;$i<=$n;$i++){
for($k=1;$k<=$n-$i;$k++){
echo"&nbsp;";
}
//内层控制每层*的个数
for($j=1;$j<=$i*2-1;$j++){
//第一层和最后一层*不变
if($i==1||$i==$n){
echo"*";
}
//其他层第一个和最后一个位置打印*,其他位置打印空格
else{
if($j==1||$j==$i*2-1){
echo"*";
}else{
echo"&nbsp;";
}
}
}
echo"<br/>";
}
echo"<hr/>"
?>


接下来,是菱形

<?php
$n=5;
for($i=1;$i<=$n;$i++){
for($k=1;$k<=$n-$i;$k++){
echo"&nbsp;";
}
//内层控制每层*的个数
for($j=1;$j<=$i*2-1;$j++){
//第一层和最后一层*不变
if($i==1){
echo"*";
}
//其他层第一个和最后一个位置打印*,其他位置打印空格
else{
if($j==1||$j==$i*2-1){
echo"*";
}else{
echo"&nbsp;";
}
}
}
echo"<br/>";
} for($i=$n;$i>=1;$i--){
for($k=1;$k<=$n-$i;$k++){
echo"&nbsp;";
}
//内层控制每层*的个数
for($j=1;$j<=$i*2-1;$j++){
//第一层和最后一层*不变
if($i==1){
echo"*";
}
//其他层第一个和最后一个位置打印*,其他位置打印空格
else{
if($j==1||$j==$i*2-1){
echo"*";
}else{
echo"&nbsp;";
}
}
}
echo"<br/>";
}
?>

注:上述代码在不同的浏览器可能显示有差异

由于是初学php,如果上述代码有错误之处,还请各位看客指正,谢谢!

最新文章

  1. JavaScript 最简单的图片切换
  2. CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)
  3. C# 有关打印机的连接判断...随便看看
  4. S5PV210之Sate210-F DIY硬件,移植uboot,kernel,android 活动现在已经进入实施阶段吗,欢迎广大网友参与 !
  5. Codeforces Beta Round #9 (Div. 2 Only)D
  6. Web开发常见的漏洞
  7. iptables vpn
  8. 运行tomcat7w.exe tomcat7.exe ,提示 指定的服务未安装 unable to open the service &#39;tomcat7&#39;
  9. 《数字图像处理原理与实践(MATLAB文本)》书代码Part7
  10. 数据挖掘应用案例:RFM模型分析与客户细分(转)
  11. dom4j详解
  12. HttpServletRequest对象
  13. Java不走弯路教程(4.Client-Server模式(1)-Server)
  14. 进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken
  15. Spring MVC 使用介绍(六)—— 注解式控制器(二):请求映射与参数绑定
  16. shiro实战系列(十五)之Spring集成Shiro
  17. 属性表格 datagridproperty
  18. 【Vim】Vim学习
  19. 动态代理以及对应Spring中AOP源码分析
  20. matlab 学习笔记

热门文章

  1. 简单的menu和点击(包括alertDialog定制)
  2. LeetCode:下一个更大元素I【31】
  3. gitlab + jenkins + docker + k8s
  4. Apache 防盗链配置
  5. 编译安卓7.0源码出现make: *** [ninja_wrapper] Error 1【转】
  6. centos 6的LAMP一键安装包(可选择/升级版本)
  7. LAMP服务器的搭建
  8. Which HTTP methods match up to which CRUD methods?
  9. select 下拉框 设置值
  10. Linux 通过进程Pid与端口互查