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


Posted in PHP onDecember 16, 2014

本文实例讲述了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 相关文章推荐
如何使用PHP往windows中添加用户
Dec 06 PHP
php你的验证码安全码?
Jan 02 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
Aug 17 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
Dec 25 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
Jun 30 PHP
PHP 断点续传实例详解
Nov 11 PHP
PHP容器类的两种实现方式示例
Jul 24 PHP
smarty缓存用法分析
Dec 16 #PHP
yii2.0之GridView自定义按钮和链接用法
Dec 15 #PHP
smarty表格换行实例
Dec 15 #PHP
PHP使用xmllint命令处理xml与html的方法
Dec 15 #PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
Dec 15 #PHP
PHP缓存集成库phpFastCache用法
Dec 15 #PHP
php图片的二进制转换实现方法
Dec 15 #PHP
You might like
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
Jquery 的扩展方法总结
2011/10/01 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
关于vue-resource报错450的解决方案
2017/07/24 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
详解Django中Request对象的相关用法
2015/07/17 Python
用pickle存储Python的原生对象方法
2017/04/28 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
python模块导入的方法
2019/10/24 Python
基于pandas中expand的作用详解
2019/12/17 Python
python画环形图的方法
2020/03/25 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
网页设计个人找工作求职信
2013/11/28 职场文书
销售提升方案
2014/06/07 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
个人先进事迹材料
2014/12/29 职场文书