以 Dreamweaver 開發 PHP 講義 CH4-5~4-7 PHP流程控制[3]

撰寫人:致理電腦 林新德

➢ 4-5  while迴圈
◎ while迴圈和for迴圈很像,也可以說是for迴圈的簡化版,基本上while迴圈標頭只
有用以判斷的條件式,而沒有起始式和步進式。

條件式若為true,則執行大括弧內的區塊內敘述,執行完之後,回到前面再判斷條件式,
若還是為true則再執行一次區段敘述,直到條件式為false時才跳離迴圈。
使用迴圈的時候都必須注意無窮迴圈,尤其是while迴圈。while的控制變數並不像for可
以直接放在敘述的標頭,所以可能會忘了加步進式,這個時候就會形成無窮迴圈。
◎ 條件式直接使用 true 是在「不知道要跑幾次迴圈」時使用,不過還是可以搭配跳
離迴圈的關鍵字break來使用,讓它不至於無窮的執行下去。

◎ 從mySQL的資料集(Recordset)取出資料就常使用while迴圈,資料集取完後會得
到NULL(空值),所以不需要控制變數就可以讓迴圈正常停止。

 

➢ 4-6  do/while迴圈
◎ do/while迴圈結構和之前介紹的兩種不太相同。

do/while結構以do關鍵字為開頭,接著是大括弧包起來的區塊內敘述,最後是while關鍵
字和小括弧包著的條件式。
請注意,for和while迴圈都是以右大括弧結尾,所以不需要再加分號(;)標示敘述的結
束。但是,do/while結尾是右小括弧,並不能代表一個區塊的結束,因此要加上分號,
以標示迴圈結尾。
若拿while迴圈和do/while迴圈做比較,最明顯的不同就是條件式的位置。do/while的條
件式擺在結構的最後面,也就表示先執行區塊敘述一次,再做條件式判斷,這也可
以說是do/while的特色。

 

➢ 4-7  break與continue
◎ 關鍵字break和continue,可以改變迴圈的流程。break曾經在使用switch敘述時看到,
不過在這將介紹break和迴圈的關係。
◎ 在switch選擇敘述中,我們使用過break,讓流程跳離switch敘述區塊。而在
for、while、do/while迴圈中,break的作用也是相同的,都是跳離敘述區塊(跳離迴
圈的大括號範圍)。一般使用break是為了在特殊情況下提早跳離重複結構。
◎ continue的功能是跳到迴圈的起始處。

 

本篇發表於 PHP 專區。將永久鏈結加入書籤。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

*

你可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>