2015-11-01 32 views
-3

我有一個問題。 我想學習PHP,有人告訴我做「明星」練習是學習循環的好方法。 我自己得到了很多,但現在我完全卡住了。PHP for循環拼圖

這是我的代碼;

for ($row = 0; $row < 11; $row++) 
{ 
    for($Y = 0; $Y < 1; $Y++){ 
    echo "Y";     
    } 
    for($O = 0; $O < 5; $O++){ 
    echo "O"; 
    } 
    if ($O <=5) { 
    echo "</br>"; 
    } 
} 

我試圖將以下內容打印到我的瀏覽器中;

Y O O O O O 
O Y O O O O 
O O Y O O O 
O O O Y O O 
O O O O Y O 
O O O O O Y 
O O O O Y O 
O O O Y O O 
O O Y O O O 
O Y O O O O 
Y O O O O O 

我希望你能幫助我!

在此先感謝!

+0

你現在有什麼? –

+0

「Y」符號只在每一行的第一位。 –

+1

爲什麼會發生這種情況? –

回答

0
$n=11; 


for ($row = 0; $row < $n-1; $row++) 
{ 
    for($line=0; $line < $n;$line++){ 

    if ($row==$line) { 
     echo 'Y'; 
    } 
    else 
     echo 'o';} 
    echo '</br>'; 
} 
for ($row = $n-1; $row > 0; $row--) 
{ 
    for($line=0; $line < $n;$line++){ 

    if ($row==$line) { 
     echo 'Y'; 
    } 
    else 
     echo 'o';} 
    echo '</br>'; 
} 

這是一個開始,只要按照矩陣水平,而當你在當前行打印Y.然後,朝開始最後一排開始。這將打印兩個矩陣與他們的對角線。

它可以優化只有一個循環,直到$ n的一半,前進Y,然後在後半部分。