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实现文件上传二法
Oct 09 PHP
php 截取字符串并以零补齐str_pad() 函数
May 07 PHP
LotusPhp笔记之:Cookie组件的使用详解
May 06 PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 PHP
PHP将XML转数组过程详解
Nov 13 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
CodeIgniter框架URL路由总结
Sep 03 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
PHP5.3以上版本安装ZendOptimizer扩展
Mar 27 PHP
php跨服务器访问方法小结
May 12 PHP
crontab无法执行php的解决方法
Jan 25 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
PHP 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
php变量作用域的深入解析
2013/06/03 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
php实现微信企业转账功能
2018/10/02 PHP
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
原生JS实现层叠轮播图
2017/05/17 Javascript
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
Python实现多线程HTTP下载器示例
2017/02/11 Python
Python实现随机选择元素功能
2017/09/14 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
Python rstrip()方法实例详解
2018/11/11 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
金属材料工程个人求职的自我评价
2013/12/04 职场文书
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python
Python中glob库实现文件名的匹配
2021/06/18 Python
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记