php打印一个边长为N的实心和空心菱型的方法,实心_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php打印一个边长为N的实心和空心菱型的方法,实心_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2054字,纯文字阅读大概需要3分钟。
内容图文
![php打印一个边长为N的实心和空心菱型的方法,实心_PHP教程](/upload/InfoBanner/zyjiaocheng/186/2929484c5fd14df0ac5b894334b67943.jpg)
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程序设计有所帮助。
http://www.bkjia.com/PHPjc/963124.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/963124.htmlTechArticlephp打印一个边长为N的实心和空心菱型的方法,实心 本文实例讲述了php打印一个边长为N的实心和空心菱型的方法。分享给大家供大家参考。...
内容总结
以上是互联网集市为您收集整理的php打印一个边长为N的实心和空心菱型的方法,实心_PHP教程全部内容,希望文章能够帮你解决php打印一个边长为N的实心和空心菱型的方法,实心_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。