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+mysql保存和输出文件
Oct 09 PHP
用PHP和ACCESS写聊天室(七)
Oct 09 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
新安装的MySQL数据库需要注意的安全知识
Jul 30 PHP
ajax实现无刷新分页(php)
Jul 18 PHP
配置php网页显示各种语法错误
Sep 23 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
PHP获取POST数据的几种方法汇总
Mar 03 PHP
PHP实现微信申请退款功能
Oct 01 PHP
PHP7内核CGI与FastCGI详解
Apr 14 PHP
yii2的restful api路由实例详解
May 14 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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
PHP进程同步代码实例
2015/02/12 PHP
php实现字符串翻转的方法
2015/03/27 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
JavaScript prototype属性使用说明
2010/05/13 Javascript
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
dojo随手记 gird组件引用
2011/02/24 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
14个有用的Jquery技巧分享
2015/01/08 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
2015/07/17 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
vue 添加vux的代码讲解
2017/11/30 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python实现查找系统盘中需要找的字符
2015/07/14 Python
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
Python实现统计代码行的方法分析
2017/07/12 Python
python3下载抖音视频的完整代码
2019/06/05 Python
python获取引用对象的个数方式
2019/12/20 Python
Python标准库itertools的使用方法
2020/01/17 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
软件测试有哪些?什么是配置项?
2012/02/12 面试题
土木工程实习生自我鉴定
2013/09/19 职场文书
大学生先进事迹材料
2014/02/16 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
好的旅游活动方案
2014/08/19 职场文书
最美护士演讲稿
2014/08/27 职场文书
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL