好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php如何用循环输出菱形

思路:

(1)写出代码打印实心的金字塔。

(2)修改代码,把金字塔抛空。

(3)修改代码,把金字塔倒转。

(4)修改倒转后的代码,把金字塔抛空。

(5)修改代码,把具体的数进行参数化。

1、写出代码打印实心金字的金字塔:

<?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++){
  echo "*";
   }
   echo "<br/>";
    }
?> 

相关推荐:《php入门教程》

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/>";
    }
    //倒转
    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/>";
    }
    //倒转 抛空
    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如何用循环 输出菱形的详细内容,更多请关注Gxl网其它相关文章!

查看更多关于php如何用循环输出菱形的详细内容...

  阅读:52次