我如何鏡像這個用嵌套 for 回圈制作的三角形?
for($x=0; $x<10; $x ) { //down
echo '<br>';
for($y=0; $y<$x; $y ) {
echo '*';
}
}
我設法做到了這一點,但我無法理解
for($x=1;$x<8;$x ){
for($y=8;$y>=$x;$y--){
echo" ";
}
for($z=1;$z<=$x;$z ){
echo"* ";
}
echo"<br>";
}
uj5u.com熱心網友回復:
我將重寫您的第一個,以使用一些變數,希望這些變數對我們將要引入的更改更有意義。他們沒有錯,這只是幫助(至少我)思考它。此外,<br />我使用的是換行符而不是HTML ,我使用的是加號而不是空格,而不是星號,我使用的是井號,只是為了清楚地說明正在發生的事情。
第一個例子
const LINES = 10;
for ($rows = 0; $rows <= LINES; $rows ) {
for ($stars = 0; $stars <= $rows; $stars ) {
echo '#';
}
echo PHP_EOL;
}
結果
#
##
###
####
#####
######
#######
########
#########
##########
###########
演示在這里:https : //3v4l.org/YpYvS
第二個例子 - 右側額外的空格
這個例子和上面的一樣,但是我在星星的末尾添加了一些額外的空白。結果看起來與前一個相同,但是如果您選擇文本,您將看到這些空格。
const LINES = 10;
for ($rows = 0; $rows <= LINES; $rows ) {
for ($stars = 0; $stars <= $rows; $stars ) {
echo '#';
}
for ($spaces = LINES; $spaces >= $rows; $spaces--) {
echo " ";
}
echo PHP_EOL;
}
結果
#
##
###
####
#####
######
#######
########
#########
##########
###########
演示在這里:https : //3v4l.org/DG34B
第三個例子 - 鏡像
為了反映這一點,我們只需要在星星之前移動空格(在我的例子中是加號),所以只需交換內部回圈的順序:
const LINES = 10;
for ($rows = 0; $rows <= LINES; $rows ) {
for ($spaces = LINES; $spaces >= $rows; $spaces--) {
echo " ";
}
for ($stars = 0; $stars <= $rows; $stars ) {
echo '#';
}
echo PHP_EOL;
}
結果
#
##
###
####
#####
######
#######
########
#########
##########
###########
演示在這里:https : //3v4l.org/H25Bf
第四個例子 - 雙方
如果你想顯示金字塔的兩邊,你可以繼續復制東西
const LINES = 10;
for ($rows = 0; $rows <= LINES; $rows ) {
for ($spaces = LINES; $spaces >= $rows; $spaces--) {
echo " ";
}
for ($stars = 0; $stars <= $rows; $stars ) {
echo '#';
}
for ($stars = 0; $stars <= $rows; $stars ) {
echo '#';
}
for ($spaces = LINES; $spaces >= $rows; $spaces--) {
echo " ";
}
echo PHP_EOL;
}
結果
##
####
######
########
##########
############
##############
################
##################
####################
######################
演示在這里:https : //3v4l.org/E1oqK
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/346086.html
標籤:php
