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

本文实例讲述了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.= '&nbsp';
     }
    }
    $str.= '*'.'&nbsp';
   }
  }
 } 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.= '&nbsp';
     }
    }
    $str.= '*'.'&nbsp';
   }
  }
 }
 return $str;
}
echo fun_py(9,false);
?>

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

代码如下:

<?php
/**
金字塔正序
**/
for($a=1;$a<=10;$a++){
 for ($b=10;$b>=$a;$b--){
    echo "&nbsp";
  }
 for ($c=1;$c<=$b;$c++){
   echo "*"."&nbsp";
 }
 echo "<br />";
}
?>

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

代码如下:

<?php
/**
金字塔玩倒立
**/
for($a=10;$a>=1;$a--){
 for ($b=10;$b>=$a;$b--){
    echo "&nbsp";
  }
 for ($c=1;$c<=$b;$c++){
   echo "*"."&nbsp";
 }
 echo "<br />";
}
?>

希望本文所述对大家的PHP程序设计有所帮助。

(0)

相关推荐

  • php输出xml必须header的解决方法

    本文实例讲述了php输出xml必须header的解决方法.分享给大家供大家参考.具体方法如下: 问题描述: 最近在做一个xml输出时发现我们直接使用echo输入的xml文档会提示Error: Object # has no method 'load'错误的了,后改用了header()输出xml头文件就解决了,下面记录一下. 解决方法: 由于xml长的和txt文件太相似,所以导致我总和txt混为一谈. 现来看看如下代码: 复制代码 代码如下: echo '<?xml version="1.0

  • php使用date和strtotime函数输出指定日期的方法

    本文实例讲述了php使用date和strtotime函数输出指定日期的方法.分享给大家供大家参考.具体方法分析如下: 在php中date和strtotime函数都是对日期操作的,但是在生成上面date和strtotime是不一样的,一个是数字日期一个是 Unix 时间戳了,但我们都可以生成相同的日期,下面来看两个函数的例子. php中经常会用到date函数和strtotime函数,这2个函数大家一定并不陌生,今天和大家分享下使用技巧. strtotime - 将任何英文文本的日期时间描述解析为

  • PHP输出XML到页面的3种方法详解

    第一种方法: 复制代码 代码如下: <?phpheader("Content-type: text/xml");echo "<?xml version=/"1.0/" encoding=/"UTF-8/"?>";echo "<users>";echo "<user>";   echo "<name>";    ec

  • php 输出双引号"与单引号'的方法

    在php 编程中双引号"与单引号'是字符串与字符表现形式,那么我们要输出它怎么做呢,下面我们就来看个简单的输出单双引号的实例吧. 首页我们来看输出双引号的几种方法 方法一. 复制代码 代码如下: $str ='我要输出双引号"'; echo $str; 结果为:我要输出双引号" 方法二 复制代码 代码如下: $str ="输出双引号\""; echo $str; //结果输出双引号" 输出单引号与双引号 复制代码 代码如下: <?

  • 通过table标签,PHP输出EXCEL的实现方法

    关键代码: 复制代码 代码如下: <?php header("Content-type:application/vnd.ms-excel"); header("Conten-Disposition:filename=hp.xlsx"); ?> 第一句是用来声明文件内容的格式:第二局是用来修改文件名的.如果没有第二个语句的话,生成的文件将是没有后缀名的.实现代码: 复制代码 代码如下: <meta http-equiv="Content-T

  • php产生随机数的两种方法实例代码 输出随机IP

    分享下php生成随机数的三种方法,生成1-10之间的不重复随机数,php生成不重复随机数的例子,需要的朋友参考下. 如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数. <?php $arr=range(1,10); shuffle($arr); foreach($arr as $values) { echo $values." "; } ?> 例2,使用array_unique函数生成随机数. <?php $arr=array();

  • PHP 简易输出CSV表格文件的方法详解

    复制代码 代码如下: $ret = '';$arrs = array(array(1,'test1'),             array(2,'test2'),             array(3,'test3'),             array(4,'test4'),             array(5,'test5'),             array(6,'test6'),             array(7,'test7')            );forea

  • PHP输出数组中重名的元素的几种处理方法

    1.可以直接用php的内置函数array_intersect() array array_intersect ( array $array1 , array $array2 [, array $ ... ] ) array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值.注意键名保留不变. 代码: 复制代码 代码如下: <?php $array1 = array("a" => "green",

  • 将php数组输出html表格的方法

    复制代码 代码如下: <?phpclass xtable{ private $tit,$arr,$fons,$sextra; public function __construct() {  $this->tit=array();       // strings with titles for first row   $this->arr=array();       // data to show on cells  $this->fons=array("#EEEEE

  • php打印输出棋盘的实现方法

    本文实例讲述了php打印输出棋盘的两种实现方法.分享给大家供大家参考.具体实现方法如下: 例子1,代码如下: 复制代码 代码如下: <?php /**  * 隔行隔列换色  * string fun_table(int $rows=9,int $cols=9)  * $rows 表示行数 必须为整数 并且必须在1-20之间  * $cols 表示列数 必须为整数 并且必须在1-20之间  */ function fun_table($rows=9,$cols=9){  if ($rows<1

随机推荐