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 相关文章推荐
BBS(php &amp; mysql)完整版(二)
Oct 09 PHP
php Try Catch异常测试
Mar 01 PHP
javascript,php获取函数参数对象的代码
Feb 03 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
php 中英文语言转换类代码
Aug 11 PHP
PHP连接操作access数据库实例
Mar 30 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
Dec 09 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
PHP大文件切割上传并带进度条功能示例
Jul 01 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
smtp邮件发送一例
2006/10/09 PHP
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
php swoft框架实例用法
2020/12/22 PHP
document.all与WEB标准
2020/05/13 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
ECMAScript6新增值比较函数Object.is
2015/06/12 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
基于Node.js实现压缩和解压缩的方法
2018/02/13 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
vue中实现左右联动的效果
2018/06/22 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
Python基于time模块求程序运行时间的方法
2017/09/18 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
python 爬虫 实现增量去重和定时爬取实例
2020/02/28 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
行政部主管岗位职责
2013/12/28 职场文书
半年思想汇报
2013/12/30 职场文书
简历的自我评价
2014/02/03 职场文书
基层党员公开承诺书
2014/05/29 职场文书
房屋认购协议书
2015/01/29 职场文书
迎新生晚会主持词
2015/06/30 职场文书
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python
MySQL自定义函数及触发器
2022/08/05 MySQL