1、if..else循環有三種結構第一種是只有用到if條件,當作單純的判斷。
解釋成"若發生了某事則怎樣處理"。
語法如下:if(expr){statement}其中的expr為判斷的條件,通常都是用邏輯運算符號當判斷的條件。
而statement為符合條件的執行部分程序,若程序只有一行,可以省略大括號{}。
范例:本例省略大括號。
這裡特別注意的是,判斷是否相等是==而不是=,ASP程序員可能常犯這個錯誤,=是賦值。
范例:本例的執行部分有三行,不可省略大括號。
第兩種是除了if之外,加上了else的條件,可解釋成"若發生了某事則怎樣處理,否則該如何解決"。
語法如下:
范例:上面的例子來修改成更完整的處理。
其中的else由於只有一行執行的指令,因此不用加上大括號。
第三種就是遞歸的if..else循環,通常用在多種決策判斷時。
它將數個if..else拿來合並運用處理。
直接看下面的例子
上例只用二層的if..else循環,用來比較a和b兩個變量。
實際要使用這種遞歸if..else循環時,請小心使用,因為太多層的循環容易使設計的邏輯出問題,或者少打了大括號等,都會造成程序出現莫名其妙的問題。
2、for循環就單純只有一種,沒有變化,它的語法如下
for(expr1;expr2;expr3){statement}
其中的expr1為條件的初始值。
expr2為判斷的條件,通常都是用邏輯運算符號(logicaloperators)當判斷的條件。
expr3為執行statement後要執行的部份,用來改變條件,供下次的循環判斷,如加一..等等。
而statement為符合條件的執行部分程序,若程序只有一行,可以省略大括號{}。
下例是用for循環寫的的例子。
3、switch循環,通常處理復合式的條件判斷,每個子條件,都是case指令部分。
在實作上若使用許多類似的if指令,可以將它綜合成switch循環。語法如下
其中的expr條件,通常為變量名稱。
而case後的exprN,通常表示變量值。
冒號後則為符合該條件要執行的部分。
注意要用break跳離循環。
這裡需要注意的是break;
別遺漏了,default,省略是可以的。
很明顯的,上述的例子用if循環就很麻煩了。
當然在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最後面,可以增加程序的執行效率。
上例由於每天出現的機率相同,所以不用注意條件的順序。
php循環控制語句
1、While語句
當表達式expression的值為真時,將執行statement語句,執行結束後,再返回到expression表達式繼續進行判斷。直到表達式的值為假時,才跳出循環。
實例:
2、Do…While語句
While語句還有一種形式的表示,Do…While.語法為:
Do{
statement;
}While(expression);
兩者的區別在於:Do…While語句要比While語句多循環一次。
當While表達式的值為假時,While循環直接跳出當前循環,而Do…While語句則是先執行一遍程序塊,然後再對表達式進行判斷。
3、For語句
其中:expression1在第一次循環時無條件取一次值。
expression2在每次循環開始前求值,如果值為真,則執行statement;否則跳出循環,繼續往下執行。expression3為每次循環後被執行。
實例:
4、Foreach語句
Foreach循環是php4.0引進來的,只能用於數組。在php5中,又增加了對對象的支持。該語句的語法格式為:
foreach(array_expression as $value)
statement;
或
Foreach(array_expression as $key => $value)
statement;
Foreach語句將遍歷數組array_expression,每次循環時,將當前數組中的值賦給$value(或是將數組下表賦給$key、對應的數組值賦給$value),同時,數組指針向後移動,如此反復循環,直到遍歷結束。當使用Foreach語句時,數組指針將自動被重置,所以不需要手動設置指針位置。實例