千家信息网

php如何打印一个边长为N的实心和空心菱型

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"php如何打印一个边长为N的实心和空心菱型",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"php如何打印一个边长为N的实心和空心菱
千家信息网最后更新 2026年11月01日php如何打印一个边长为N的实心和空心菱型

这篇文章主要为大家展示了"php如何打印一个边长为N的实心和空心菱型",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"php如何打印一个边长为N的实心和空心菱型"这篇文章吧。

本文实例讲述了php打印一个边长为N的实心和空心菱型的方法。分享给大家供大家参考。具体分析如下:

实心菱型计算方法:
$n:边长
$i:当前行,0开始
$rows:总行数

上部
前面空格数=$n-$i-1
字符数=$i*2+1

下部
前面空格数=$i-$n+1
字符数=($rows-$i)*2-1

使用 str_pad 可以减少for/while等循环

/** * 打印实心菱型 * @param  int    $n 边长,默认5 * @param  String $s 显示的字符, 默认* * @return String */ function solidDiamond($n=5, $s='*'){     $str = '';     // 计算总行数     $rows = $n*2-1;     // 循环计算每行的*     for($i=0; $i<$rows; $i++){         if($i<$n){ // 上部             $str .= str_pad('', ($n-$i-1), ' '). str_pad('', $i*2+1, $s)."\r\n";         }else{     // 下部             $str .= str_pad('', ($i-$n+1), ' '). str_pad('', ($rows-$i)*2-1, $s). "\r\n";         }     }     return $str; } echo ''; echo solidDiamond(5); echo '';

结果:

*
***
*****
*******
*********
*******
*****
***
*

空心菱型计算方法:
$n:边长
$i:当前行,0开始
$rows:总行数

上部
前面空格数=$n-$i-1
空心的空格数=$i*2+1-2
字符数=$i*2+1 - 空心的空格数

下部
前面空格数=$i-$n+1
空心的空格数=($rows-$i)*2-1-2
字符数=($rows-$i)*2-1 - 空心的空格数

/** * 打印空心菱型 * @param  int    $n 边长,默认5 * @param  String $s 显示的字符, 默认* * @return String */ function hollowDiamond($n=5, $s='*'){     $str = '';     // 计算总行数     $rows = $n*2-1;     // 循环计算每行的*     for($i=0; $i<$rows; $i++){         if($i<$n){ // 上部             $tmp = $i*2+1;             $str .= str_pad('', ($n-$i-1), ' '). str_pad(str_pad('', $tmp-2, ' ', STR_PAD_BOTH), $tmp, $s, STR_PAD_BOTH)."\r\n";         }else{     // 下部             $tmp = ($rows-$i)*2-1;             $str .= str_pad('', ($i-$n+1), ' '). str_pad(str_pad('', $tmp-2, ' ', STR_PAD_BOTH), $tmp, $s, STR_PAD_BOTH). "\r\n";        }     }     return $str; } echo ''; echo hollowDiamond(5); echo '';

结果:

*
* *
* *
* *
* *
* *
* *
* *
*

以上是"php如何打印一个边长为N的实心和空心菱型"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

边长 空格 字符 总行 内容 方法 篇文章 循环 结果 学习 帮助 实例 易懂 更多 条理 知识 编带 行业 资讯 资讯频道 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 华服互联网科技靠谱吗 中关村互联网科技集团 互联网科技工作委员会毛军 科技赋能下的互联网金融 互联网科技有限公司图片 上海互联网科技有限公司 喔噻互联网科技 深圳国际航运科技和互联网 岳阳华臻互联网科技有限公司 互联网科技圈年度人物 互联网金融科技元年 深圳互联网科技的发展 广州百诚互联网科技有限公司官网 互联网科技资金流入 昆明中奇联合互联网科技 唐山双旺合互联网科技产业园 现代互联网科技公司 互联网金融金融科技 广东猫王互联网科技有限公司电话 广州善班互联网科技 科技互联网创业计划书 四川狮子座互联网科技 云创客互联网科技公司 剑昆互联网络科技有限公司临桂 广州恒生互联网科技有限 内蒙古九一互联网科技 互联网金融科技名词解释 互联网科技手机排行榜 小牛互联网科技有限公司地址
0