Heim > Artikel > Backend-Entwicklung > Eine einfache Möglichkeit, symmetrische Rauten mit PHP auszugeben
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 '+'; } //再输出星星,控制星星的数量 for($star=1; $star<=2*$line-1; ++$star) { echo '*'; } //输出换行 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 43 2101234
Wenn die entsprechende erste Addition beispielsweise gleich dem gleichen Buch ist, ist dieses gleich 5The entsprechender Pseudocodefor($i=-4; $i<=4; ++$i) { echo $i, '+'; echo abs($i), '+'; echo 5-abs($i); echo '<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)
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.