Heim  >  Artikel  >  Backend-Entwicklung  >  Eine einfache Möglichkeit, symmetrische Rauten mit PHP auszugeben

Eine einfache Möglichkeit, symmetrische Rauten mit PHP auszugeben

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

Um beispielsweise eine einfache Rautenform oder einen Sternturm auszugeben, steuert zuerst die äußerste Ebene die Zeilennummer und dann die innere Schleife. Die erste Schleife steuert zwei, und dann steuert die zweite Schleife die Anzahl der Sterne , was den Abstand steuert, ist die Gesamtzahl der Zeilen minus der aktuellen Anzahl der Zeilen for($space=1; $space<=$lines-$line; ++$space) und dann ist die Schleife für Sterne for($ star =1; $star<=2*$line-1; ++$star)

Der folgende Code ist Teil der einfachsten Ausgaberaute

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

//外层循环控制行号
for($line=1; $line<=$lines; ++$line) {
	//先输出前导空格,控制空格的数量
	for($space=1; $space<=$lines-$line; ++$space) {
		echo &#39;+&#39;;
	}
	//再输出星星,控制星星的数量
	for($star=1; $star<=2*$line-1; ++$star) {
		echo &#39;*&#39;;
	}
	//输出换行
	echo "<br />";
}<br></p> <p>Die meisten Grafiken, die Symmetrie beinhalten, beziehen sich auf die Zahlenachse. Beispielsweise wird das sporadische +, das in der Ausgabe und Anzeige angezeigt wird, durch ein Leerzeichen ersetzt.</p>
<p>Die allgemeine Methode besteht zunächst darin, zuerst ein + zu erstellen + Schleife, um die obere Halbebene auszugeben, und dann eine -- Schleife erstellen, um die untere Halbebene auszugeben </p>
<p>, wie zum Beispiel diese </p>
<pre name="code">$lines=12;
for ($line=1; $line <=$lines ; $line++) { 
	for ($j=1; $j <= $lines - $line ; $j++) { 
		echo "+";
	}
	for ($i=0; $i < 2*$line-1; $i++) { 
		if ($i == 0 || $i == 2*$line-2) {
			echo "*";
		}else{
			echo "+";
		};
	}
	echo "</br>";
}
$lines=12;
for ($line=$lines-1; $line >=1 ; $line--) { 
	for ($j=1; $j <= $lines - $line ; $j++) { 
		echo "+";
	}
	for ($i=0; $i < 2*$line-1; $i++) { 
		if ($i == 0 || $i == 2*$line-2 || $line == $lines) {
			echo "*";
		}else{
			echo "+";
		};
	}
	echo "</br>";
}
Dann gibt es eine cleverere Möglichkeit, die Zahlenachse zu verwenden

//123454321
//-4-3-2-1 01 234(Zahlenstrahl)
//432101234 (Absolutwert)

Denken Sie daran, 1 2 zu erreichen. Die Wirkung von 3 4 5 4 3 2 1

Zuerst setzen Sie -4-3-2-10 1234 Verwenden Sie die Absolutwertfunktion, um

und dann ist es 4

3 2101234

Wenn die entsprechende erste Addition beispielsweise gleich dem gleichen Buch ist, ist dieses gleich 5

The entsprechender Pseudocode

for($i=-4; $i<=4; ++$i) {
	echo $i, &#39;+&#39;;
	echo abs($i), &#39;+&#39;;
	echo 5-abs($i);

	echo &#39;<br>';
}
Folgen Nach dieser Idee steuert zunächst die äußerste Schleife die Zahlenachse, das heißt, sie geht von negativen Zahlen zu positiven Zahlen für($i =-($lines-1); $i<=$lines-1; ++ $i)

Subtrahieren Sie dann den absoluten Wert der obigen Achse von der Gesamtzahl der Zeilen $line = $lines - abs($i);

Dann bleibt der folgende Code unverändert

for($i=-($lines-1); $i<=$lines-1; ++$i) {
	//计算$line
	$line = $lines - abs($i);
	//先输出前导空格,控制空格的数量
	for($space=1; $space<=$lines-$line; ++$space) {
		echo '+';
	}
	//再输出星星,控制星星的数量
	for($star=1; $star<=2*$line-1; ++$star) {
		//判断应该输出星星还是空格
		if($star==1 || $star==2*$line-1) {
			echo '*';
		} else {
			echo '+';
		}
	}
	//输出换行
	echo "
"; }
Copyright-Erklärung: Dieser Artikel ist ein Originalartikel von des Bloggers und dürfen nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige stellt eine einfache Möglichkeit vor, eine symmetrische Raute mit PHP auszugeben, einschließlich aller Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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