1、if..else循環(huán)有三種結(jié)構(gòu)
第一種是只有用到if條件,當作單純的判斷。解釋成“若發(fā)生了某事則怎樣處理”。語法如下:
if (expr) { statement }
其中的expr為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號 {}。
范例:本例省略大括號。
<?php
if ($state==1)echo "哈哈" ;
?>
第二種是除了if之外,加上了else的條件,可解釋成“若發(fā)生了某事則怎樣處理,否則該如何解決”。語法如下:
if (expr) { statement1 } else { statement2 }
范例:上面的例子來修改成更完整的處理。其中的else由于只有一行執(zhí)行的指令,因此不用加上大括號。
<?php
if ($state==1) {
echo "哈哈" ;
echo "<br>";
}
else{
echo "呵呵";
echo "<br>";
}
?>
第三種就是遞歸的if..else循環(huán),通常用在多種決策判斷時。它將數(shù)個if..else拿來合并運用處理。
直接看下面的例子:
<?php
if ( $a > $b ) {
echo "a 比 b 大" ;
} elseif ( $a == $b ) {
echo "a 等于 b" ;
} else {
echo "a 比 b 小" ;
}
?>
上例只用二層的if..else循環(huán),用來比較a和b兩個變量。實際要使用這種遞歸if..else循環(huán)時,請小心使用,因為太多層的循環(huán)容易使設(shè)計的邏輯出問題,或者少打了大括號等,都會造成程序出現(xiàn)莫名其妙的問題。
2、for循環(huán)就單純只有一種,沒有變化,它的語法如下:
for (expr1; expr2; expr3) { statement }
其中的expr1為條件的初始值。expr2為判斷的條件,通常都是用邏輯運算符號(logical operators)當判斷的條件。expr3為執(zhí)行statement后要執(zhí)行的部份,用來改變條件,供下次的循環(huán)判斷,如加一..等等。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號 {}。
下例是用for循環(huán)寫的的例子:
<?php
for ( $i = 1 ; $i <= 10 ; $i ++) {
echo "這是第".$i."次循環(huán)<br>" ;
}
?>
switch循環(huán),通常處理復合式的條件判斷,每個子條件,都是case指令部分。在實作上若使用許多類似的if指令,可以將它綜合成switch循環(huán)。
語法如下:
switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }
其中的expr條件,通常為變量名稱。而case后的exprN,通常表示變量值。冒號后則為符合該條件要執(zhí)行的部分。注意要用break跳離循環(huán)。
<?php
switch ( date ( "D" )) {
case "Mon" :
echo "今天星期一" ;
break;
case "Tue" :
echo "今天星期二" ;
break;
case "Wed" :
echo "今天星期三" ;
break;
case "Thu" :
echo "今天星期四" ;
break;
case "Fri" :
echo "今天星期五" ;
break;
default:
echo "今天放假" ;
break;
}
?>
這里需要注意的是break;別遺漏了,default,省略是可以的。
很明顯的,上述的例子用if循環(huán)就很麻煩了。當然在設(shè)計時,要將出現(xiàn)機率最大的條件放在最前面,最少出現(xiàn)的條件放在最后面,可以增加程序的執(zhí)行效率。上例由于每天出現(xiàn)的機率相同,所以不用注意條件的順序。
今天就說到這里,明天開始說數(shù)據(jù)庫的使用。