2012-06-29 92 views
3
for ($i=1; $i<=4; ++$i) { 
    echo "The number is " . $i . "\n"; 
} 

這將輸出:瞭解PHP for循環

The number is 1 
The number is 2 
The number is 3 
The number is 4 

我怎樣才能使一個循環,這將使我的輸出就像這樣:

The number is 1 
The number is 1 
The number is 1 
The number is 1 
The number is 2 
The number is 2 
The number is 2 
The number is 2 
etc 

感謝您的幫助。

+1

不知道爲什麼有倒票。這似乎是一個合法的初學者問題。一些有建設性的批評對降薪有幫助。 +1來抵消消極性。 – kingjeffrey

+0

@kingjeffrey我恨它人們downvote而不留下評論...除了是一個合法的初學者問題,它是良好的形式,並明確提出。 – sachleen

回答

3

本質上,你想在循環內打印四次......所以你可以寫四個回聲語句。更好的方法是使用嵌套for循環。

for ($i=1; $i<=4; ++$i) { 
    for ($j=1; $j<=4; ++$j) { 
     echo "The number is " . $i . "\n"; 
    } 
} 

對於外部循環的每次迭代,內部打印語句四次。有一點需要注意嵌套循環是條件中使用的變量。如果你把它們混合起來,你可能會有奇怪的問題,包括無限循環。

+0

非常感謝。 – user1492325

3

您需要兩個嵌套的循環,就像這樣:

for($i = 1; $i <= 4; ++$i) { 
    for($j = 1; $j <= 4; ++$j) { 
     echo "The number is " . $i . "\n"; 
    } 
} 
+0

我想你想回聲$我 – kingjeffrey

+0

剛剛看到,謝謝! – nickb

1

你已經得到了相同的循環,但在四個迭代:

for ($i=1; $i<=4; ++$i) { 
    for($j=0;$j<4;$j++) { 
     echo "The number is " . $i . "\n"; 
    } 
} 
7

沒有嵌套的循環:這將足以爲一個單一的循環。

for($i=0;$i<9*4;$i++) 
{ 
    echo "The number is ".(1+floor($i/4)); 
} 
+0

聰明!我喜歡你思考的方式。 – Dai

+0

爲你的迭代器使用浮點指針是一個壞主意。它可能導致奇怪的數字和不正確的迭代次數。我希望你不介意我的修復。 – ikegami

+0

如果您想限制獨立於消息重複次數的行總數,則此非嵌套方法非常有用。當綁定是消息重複次數的倍數時,嵌套循環更清晰。 – ikegami

2

可以使兩個循環

for($i = 1; $i <= 4; $i++) { 
    for($j = 1; $j <= 4; $j++) { 
     echo 'The number is '.$i."\n"; 
    } 
} 
4

所以,你要

for ($i=1; $i<=2; ++$i) { 
    echo "The number is " . $i . "\n"; 
    echo "The number is " . $i . "\n"; 
    echo "The number is " . $i . "\n"; 
    echo "The number is " . $i . "\n"; 
} 

但是讓我們避免與循環重複!

for ($i=1; $i<=2; ++$i) { 
    for ($j=1; $j<=4; ++$j) { 
     echo "The number is " . $i . "\n"; 
    } 
} 
+0

+1爲重複回聲。這是糟糕的形式,但證明了內部循環的必要性。 – kingjeffrey

+0

@kingjeffrey,謝謝。嵌套循環對於新手來說可能令人望而生畏,所以我想展示導致使用它的過程而不是跳到答案。 – ikegami

3

百萬個可能的解決方案之一可以使用單循環和str_repeat()函數。

for ($i=1; $i<=4; $i++) 
    echo str_repeat("The number is $i\n", 4); 

這可能是多次重複相同字符串的最佳方法。