Heim  >  Artikel  >  Backend-Entwicklung  >  用PHP输出对称菱形的简易办法

用PHP输出对称菱形的简易办法

WBOY
WBOYOriginal
2016-07-30 13:29:302337Durchsuche

比如输出一个简单的菱形或者叫星星塔,首先是最外层控制行号,然后是内层的循环,内层的循环有两个第一个循环控制,然后第二个循环来控制星星的数量,控制空格的是总共有的行数减去当前的行数for($space=1; $space

下面的代码是最简单的输出菱形的一部分

//$line 表示行号
//$space = $lines-$line;//每行的前导空格
//$star = 2*$line - 1;//m每行的星星数量

//外层循环控制行号
for($line=1; $line";
}

涉及到对称的图形就大多涉及到数轴比如输出入读所示的零星  +用空格来代替

首先一般的方法就是先做一个++的循环输出上半层,然后再做一个--的循环输出下半层

比如是这样

$lines=12;
for ($line=1; $line ";
}
$lines=12;
for ($line=$lines-1; $line >=1 ; $line--) { 
	for ($j=1; $j ";
}
然后还有就是一种比较巧的方法 利用数轴

//123454321
//-4-3-2-101234(数轴)
//432101234(绝对值)

想到达到 1 2 3 4 5 4 3 2 1的效果

先把-4-3-2-101234用绝对值函数转换一下

然后就是432101234

对应的第一个相加的话就都是等于同一个书  比如说这个  就都等于5

相应的伪代码

for($i=-4; $i';
}

按照这个思路的话,首先最外层的循环控制的是数轴,也就是说从负数到正数的走一遍for($i=-($lines-1); $i

然后里面的用总的行数减去上面数轴的绝对值$line = $lines - abs($i);

然后下面的额代码不变就行了

for($i=-($lines-1); $i";
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了用PHP输出对称菱形的简易办法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn