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 相关文章推荐
memcached 和 mysql 主从环境下php开发代码详解
May 16 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
CI框架给视图添加动态数据
Dec 01 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
Feb 20 PHP
php生成0~1随机小数的方法(必看)
Apr 05 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
php png失真的原因及解决办法
Nov 17 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程序员编程注意事项
2008/04/10 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
2020/12/15 PHP
jQuery JSON的解析方式分享
2011/04/05 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
利用python实现周期财务统计可视化
2019/08/25 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
使用CSS3制作一个简单的Chrome模拟器
2015/07/15 HTML / CSS
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
美国在线珠宝商店:SZUL
2017/02/11 全球购物
大学生个人求职信范文
2013/09/21 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
军训拉歌口号
2014/06/13 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书