在這裡談到程式撰寫中非常重要的概念,關於迴圈,簡單來說就是讓電腦替我們重覆執行某種行為或是事件。
W3S中的註釋:
Loops execute a block of code a specified number of times, or while a specified condition is true.
當給予迴圈條件成立時,將會執行該區塊中的程式碼。
PHP中的迴圈:
while - loops through a block of code while a specified condition is true
當條件式成立時,則會執行區塊中的程式碼。
do...while - loops through a block of code once, and then repeats the loop as long as a specified condition is true
跟「while – loops」不同的地方是,它先執行區塊裡的一次,然後再確認判斷式是否成真(true),是的話再執行一次,換句話說,不管如何,它都最少都會執行一次。
for - loops through a block of code a specified number of times
以指定執行次數的方式來進行迴圈內的程式碼。
foreach - loops through a block of code for each element in an array
這個迴圈是針對陣列來使用,指定一個陣列給它,他會跟據陣列中有幾個元素而執行幾次。
The while loop
語法(Syntax)
while (condition) { code to be executed; } |
Example
<html> <body> <?php $i=1; while($i<=5) { echo "The number is " . $i . "<br />"; $i++; } ?> </body> </html> |
該迴圈的判斷式為($i<=5),因為我們一開始給$i的值是「1」,所以這個迴圈會執行5次後才會跳出,而在區塊(block)中的最後一行,會執行$i++,表示的是,$i變數會遞增(每次加1),如果少了這一行,你將會陷入一個「無限迴圈」,所以它是必須存在的,當然,也有另一種中斷迴圈的方式,它是透過像是「if」判斷式來做配合,這個後面再做介紹。
而上一段程式碼執行後的輸出如下:
The number is 1 The number is 2 The number is 3 The number is 4 The number is 5 |
The do...while
語法(Syntax)
do { code to be executed; } while (condition); |
Example
<html> <body> <?php $i=1; do { $i++; echo "The number is " . $i . "<br />"; } while ($i<=5); ?> </body> </html> |
輸出結果:
The number is 2 The number is 3 The number is 4 The number is 5 The number is 6 |
看出了不一樣的地方了嗎?
跟之前提過的一樣,「do – while」會先執行一次再對條件式內容進行判斷,我們一開始給於$i的值是1,而區塊內的程式碼第一次就是$i++,所以在第一次輸出的時候$i就是2了,一直執行到第5次$i變成6後,條件式$i不再小於或等於5了,則跳出這段迴圈。
或許看到這邊你會有一個疑問,while –loop與do… while看起來似乎是一樣的東西,為什麼有這兩者呢?
當然,有需要才會有需求,所以就是會有要先執行一次的需求,才會有do… while這個迴圈,往後的列子中遇到我們再進一步的解說,首先,你只要先瞭解這兩者的差別。
下一篇將針對for以及foreach進行解說。
PHP與MySQL網頁設計實務/網奕出版/吳權威 編著
沒有留言:
張貼留言