學習目的:掌握php的流程控制
1、if..else 循環有三種結構
第一種是只有用到 if 條件,當作單純的判斷。解釋成 "若發生了某事則怎樣處理"。語法如下:
if (expr) { statement }
其中的 expr 為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括號 {}。
範例:本例省略大括號。
if ($state==1)echo "哈哈" ;
?>
這裡特別注意的是,判斷是否相等是==而不是=,ASP程式設計師可能常犯這個錯誤,= 是賦值。
範例:本例的執行部分有三行,且不可省略大括號。
if ($state==1) {
echo "哈哈;
echo "
" ;
}
>
第兩種是除了if 之外,加上了else 的條件,可解釋成"若發生了某事則怎樣處理,否則該如何解決"。 (expr) { statement1 } else { statement2 } 範例:上面的範例來修改成更完整的處理。 ($state==1) {
echo "
";
}
else{
echo "";
呵呵 echo "
";
}
?>
第三種就是遞歸的if..else 循環,通常用在多種決策判斷時。它將數個if..else拿來合併運用處理。 🎜> } elseif ( $a == $b ) {
echo "a 等於b" ;
echo "a 比b 小" ;
}
}
? 🎜> 上例只用二層的if..else 循環,用來比較a 和b 兩個變數。迴圈容易讓設計的邏輯出問題,或少打了大括號等,都會造成程式出現莫名其妙的問題。 >
for (expr1; expr2; expr3) { statement }
其中的expr1 為條件的初始值。條件。大括號{}。
下例是用 for 迴圈寫的的例子。
for ( $i = 1 ; $i echo "這是第".$i."次循環
" ;
}
?> 3、 switch 循環,通常處理複合式的條件判斷,每個子條件,都是case 指令部分。在實作上若使用許多類似的 if 指令,可以將它綜合成 switch 迴圈。 文法如下 switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; } switch ( date ( "D" )) {case "Wed" :
echo "今天星期三" ;break;
echo "今天星期三" ;break;
echo "今天星期三" ;break;
echo " echo "今天星期四" ; break;
case "Fri" :
echo "今天星期五" ;
break;
default:
}
?>
這裡要注意的是break;別遺漏了,default,省略是可以的。
很明顯的,上述的例子用 if 循環就很麻煩了。當然在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最後面,可以增加程式的執行效率。上例由於每天出現的機率相同,所以不用注意條件的順序。
今天就說到這裡,明天開始說資料庫的使用。