php入门基础教程之for循环打印空心菱形

发布时间:2020-10-23编辑:脚本学堂
本节为大家介绍for循环打印空心菱形,for循环应用的例子,供大家学习参考。

 上一节我们介绍了php for循环,这节看几个具体的例子。
思路:
1、写出代码打印实心的金字塔
2、修改代码,把金字塔抛空
3、修改代码,把金字塔倒转
4、修改倒转后的代码,把金字塔抛空
5、修改代码,把具体的数进行参数化

1、打印实心金字的金字塔:

<?php
//$n=5;
//by www.jb200.com
for($i=1;$i<=5;$i++){
//打印空格
for($j=1;$j<=5-$i;$j++){
   echo "&nbsp;";
  }
  //打印*号
  for($k=1;$k<=2*$i-1;$k++){
   echo "*";
  }

  echo "<br/>";
 }
?>

2、把金字塔抛空

<?php
 //$n=5;
 for($i=1;$i<=5;$i++){
  //打印空格
  for($j=1;$j<=5-$i;$j++){
   echo "&nbsp;";
  }
 //打印*号
 for($k=1;$k<=2*$i-1;$k++){
  //打印第一行后最后一行都打*连接
  if($i==1 || $i==5){
   echo "*";
  }else{
  //怎么打空格和*号的问题
   if($k==1 || $k==2*$i-1){
    echo "*";
   }else{
    echo "&nbsp;";
   }
  }
 }
 echo "<br/>";
 }
?>

3、把金字塔倒转

<?php
 //$n=5;
 for($i=1;$i<=5;$i++){
  //打印空格
  for($j=1;$j<=5-$i;$j++){
   echo "&nbsp;";
  }
  //打印*号
  for($k=1;$k<=2*$i-1;$k++){
   //打印第一行后最后一行都打*连接
   if($i==1 || $i==5){
     echo "*";
   }else{
    //怎么打空格和*号的问题
    if($k==1 || $k==2*$i-1){
     echo "*";
    }else{
     echo "&nbsp;";
    }
   }
  }
 echo "<br/>";
 }
 //倒转
 //by www.jb200.com
 for($i=5;$i>=0;$i--){
  //打印空格
  for($j=0;$j<=5-$i;$j++){
   echo "&nbsp;";
  }
  //打印*号
  for($k=1;$k<=2*$i-3;$k++){
   echo "*";
  }
 echo "<br/>";
 }
?>

4、把金字塔抛空,并把中间的*号去掉 修改这里的代码(if($i==1 || $i==5){ //去掉$i==5 把中间抛空)

<?php
 //$n=5;
 for($i=1;$i<=5;$i++){
  //打印空格
  for($j=1;$j<=5-$i;$j++){
   echo "&nbsp;";
  }
  //打印*号
  for($k=1;$k<=2*$i-1;$k++){
  //打印第一行后最后一行都打*连接($i==1 || $i==5) 
   if($i==1){ //去掉$i==5 把中间抛空
    echo "*";
   }else{
    //怎么打空格和*号的问题
    if($k==1 || $k==2*$i-1){
     echo "*";
    }else{
     echo "&nbsp;";
   }
  }
 }
 echo "<br/>";
 }
 //by www.jb200.com
 //倒转 抛空
 for($i=5;$i>=0;$i--){
  //打印空格
  for($j=0;$j<=5-$i;$j++){
   echo "&nbsp;";
  }
  //打印*号
  for($k=1;$k<=2*$i-3;$k++){
   //怎么打空格和*号的问题
   if($k==2*$i-3 || $k==1){
    echo "*";
   }else{
    echo "&nbsp;"; 
   }
  }
 echo "<br/>";
 }
?>

5、把具体的数进行参数化 :把具体数字5改成$n=5代替,随后可以设置$n的值,可以任意放大和缩小

<?php
 $n=5;
 for($i=1;$i<=$n;$i++){
  //打印空格
  for($j=1;$j<=$n-$i;$j++){
   echo "&nbsp;";
  }
  //打印*号
  for($k=1;$k<=2*$i-1;$k++){
  //打印第一行后最后一行都打*连接($i==1 || $i==5) 
   if($i==1){ //去掉$i==5 把中间抛空
    echo "*";
   }else{
    //怎么打空格和*号的问题
    if($k==1 || $k==2*$i-1){
     echo "*";
    }else{
     echo "&nbsp;";
    }
  }
 }
 echo "<br/>";
 }
 //倒转 抛空
 for($i=$n;$i>=0;$i--){
  //打印空格
  for($j=0;$j<=$n-$i;$j++){
   echo "&nbsp;";
  }
  //打印*号
  for($k=1;$k<=2*$i-3;$k++){
   //怎么打空格和*号的问题
   if($k==2*$i-3 || $k==1){
    echo "*";
   }else{
    echo "&nbsp;"; 
   }
  }
 echo "<br/>";
 }
?>

效果图
感谢大家关注php入门教程,本系列的php基础教程将帮助php新手朋友,快速掌握php这门编程语言。
脚本学堂将继续为大家推出php相关教程,祝大家学习进步!