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

yipeiwu_com6年前PHP代码库

本文实例讲述了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程序设计有所帮助。

相关文章

php使用GD2绘制几何图形示例

php使用GD2绘制几何图形示例

本文实例讲述了php使用GD2绘制几何图形的方法。分享给大家供大家参考,具体如下: 使用GD2函数不仅可以绘制线条图形,而且可以绘制填充图形,如填充圆形,填充矩形等。下面对GD2中常用的...

PHP常见的序列化与反序列化操作实例分析

本文实例讲述了PHP常见的序列化与反序列化操作。分享给大家供大家参考,具体如下: 1.概念 serialize() 把变量和它们的值编码成文本形式 unserialize() 恢复原先...

PHP 动态随机生成验证码类代码

PHP 动态随机生成验证码类代码

下面是效果图,这个效果图是没有开启干扰码的效果图 下面是类代码 复制代码 代码如下: <?php /****************************************...

PHP使用文件锁解决高并发问题示例

本文实例讲述了PHP使用文件锁解决高并发问题。分享给大家供大家参考,具体如下: 新建一个.txt文件,文件中什么都不用写。 【一】.阻塞(等待)模式:(只要有其他进程已经加锁文件,当前进...

php 使用post,get的一种简洁方式

近来看到了一个巧妙地方法,原理是 $var_a ='var_b'; $$var_a ='test'; 则echo $var_b;为'test' 因此可以这样处理 复制代码 代码如下: f...