您的位置:首页 > 编程语言 > PHP开发

php输出金字塔的2种实现方法

2014-12-16 00:00 525 查看
本文实例讲述了php输出金字塔的2种实现方法。分享给大家供大家参考。具体分析如下:

下面给大家总结了两种实现金字塔打印的方法,一种是利用了自定义函数,另一种是利用了for循环了,其实两都用到了只是前者高级一些吧.

自定义函数实现金字塔,代码如下:

<?php 

/** 

 * 金字塔 

 * string fun_py(int $rows = 9, bool $sort=true) 

 * $rows 表示行数 必须为整数 并且必须在1-20之间 

 * $sort 表示排序 true表示正序 FALSE表示倒序 

 */ 

function fun_py($rows = 9, $sort=true){ 

 if ($rows<1 || $rows>20){ 

  return "必须在1-20之间"; 

 } 

 if($rows!=(int)($rows)){ 

  return '行数 必须为整数'; 

 } 

 $str=""; 

 if($sort){ 

  for($i=1;$i<=$rows;$i++){ 

   $str.= '<br/>'; 

   for($j=1;$j<=$i;$j++){ 

    if($j==1){ 

     for($k=1;$k<=($rows-$i);$k++){ 

      $str.= ' '; 

     } 

    } 

    $str.= '*'.' '; 

   } 

  } 

 } else{ 

  for($i=$rows;$i>=1;$i--){ 

   $str.= '<br/>'; 

   for($j=1;$j<=$i;$j++){ 

    if($j==1){ 

     for($k=1;$k<=($rows-$i);$k++){ 

      $str.= ' '; 

     } 

    } 

    $str.= '*'.' '; 

   } 

  } 

 } 

 return $str; 

} 

echo fun_py(9,false); 

?>


下面再实现个金字塔形状物,通用也是用到for循环,代码如下:

<?php 

/** 

金字塔正序 

**/ 

for($a=1;$a<=10;$a++){ 

 for ($b=10;$b>=$a;$b--){ 

    echo " "; 

  } 

 for ($c=1;$c<=$b;$c++){ 

   echo "*"." "; 

 } 

 echo "<br />"; 

} 

?>


同样想让这个金字塔倒立起来呢,代码如下:

<?php 

/** 

金字塔玩倒立 

**/ 

for($a=10;$a>=1;$a--){ 

 for ($b=10;$b>=$a;$b--){ 

    echo " "; 

  } 

 for ($c=1;$c<=$b;$c++){ 

   echo "*"." "; 

 }

 echo "<br />"; 

} 

?>

希望本文所述对大家的PHP程序设计有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: