在php中迴圈語句一般是使用while,for,foreach而控制語句就是if swicth這些了,下面我來給大家介紹一下php迴圈控制語句用法吧。
1、if..else迴圈有三種結構第一種是只有用到if條件,當作單純的判斷。
解釋成"若發生了某事則怎樣處理"。
文法如下:if(expr){statement}其中的expr為判斷的條件,通常都是用邏輯運算子號當判斷的條件。
而statement為合格執行部分程式,若程式只有一行,可以省略大括弧{}。
範例:本例省略大括弧。
| 代碼如下 |
複製代碼 |
if($state==1) echo"哈哈"; ?>
|
這裡特別注意的是,判斷是否相等是==而不是=,ASP程式員可能常犯這個錯誤,=是賦值。
範例:本例的執行部分有三行,不可省略大括弧。
| 代碼如下 |
複製代碼 |
if($state==1){ echo"哈哈; echo" "; } ?>
|
第兩種是除了if之外,加上了else的條件,可解釋成"若發生了某事則怎樣處理,否則該如何解決"。
文法如下:
| 代碼如下 |
複製代碼 |
if(expr){ statement1 }else{ statement2 }
|
範例:上面的例子來修改成更完整的處理。
其中的else由於只有一行執行的指令,因此不用加上大括弧。
| 代碼如下 |
複製代碼 |
if($state==1){ echo"哈哈"; echo" "; }else{ echo"呵呵"; echo" "; } ?>
|
第三種就是遞迴的if..else迴圈,通常用在多種決策判斷時。
它將數個if..else拿來合并運用處理。
直接看下面的例子
| 代碼如下 |
複製代碼 |
if($a>$b){ echo"a比b大"; }elseif($a==$b){ echo"a等於b"; }else{ echo"a比b小"; } ?>
|
上例只用二層的if..else迴圈,用來比較a和b兩個變數。
實際要使用這種遞迴if..else迴圈時,請小心使用,因為太多層的迴圈容易使設計的邏輯出問題,或者少打了大括弧等,都會造成程式出現莫名其妙的問題。
2、for迴圈就單純只有一種,沒有變化,它的文法如下
for(expr1;expr2;expr3){statement}
其中的expr1為條件的初始值。
expr2為判斷的條件,通常都是用邏輯運算子號(logicaloperators)當判斷的條件。
expr3為執行statement後要執行的部份,用來改變條件,供下次的迴圈判斷,如加一..等等。
而statement為合格執行部分程式,若程式只有一行,可以省略大括弧{}。
下例是用for迴圈寫的的例子。
| 代碼如下 |
複製代碼 |
for($i=1;$i<=10;$i ){ echo"這是第".$i."次迴圈 "; } ?>
|
3、switch迴圈,通常處理複合式的條件判斷,每個子條件,都是case指令部分。
在實作上若使用許多類似的if指令,可以將它綜合成switch迴圈。文法如下
| 代碼如下 |
複製代碼 |
switch(expr){ caseexpr1: statement1; break; caseexpr2: statement2; break; default: statementN; break; }
|
其中的expr條件,通常為變數名稱。
而case後的exprN,通常表示變數值。
冒號後則為符合該條件要執行的部分。
注意要用break跳離迴圈。
| 代碼如下 |
複製代碼 |
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迴圈就很麻煩了。
當然在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最後面,可以增加程式的執行效率。
上例由於每天出現的機率相同,所以不用注意條件的順序。
php迴圈控制語句
1、While語句
| 代碼如下 |
複製代碼 |
While迴圈是php中最簡單的迴圈語句,他的文法格式是: While (expression){ statement; }
|
當運算式expression的值為真時,將執行statement語句,執行結束後,再返回到expression運算式繼續進行判斷。直到運算式的值為假時,才跳出迴圈。
執行個體:
| 代碼如下 |
複製代碼 |
$num = 1; $str = “10以內的偶數為:”; while($num <=10){ if($num % 2 == 0){ $str.=$num.”"; } $num++; } echo $str; ?>
|
2、Do…While語句
While語句還有一種形式的表示,Do…While.文法為:
Do{
statement;
}While(expression);
兩者的區別在於:Do…While語句要比While語句多迴圈一次。
當While運算式的值為假時,While迴圈直接跳出當前迴圈,而Do…While語句則是先執行一遍程式塊,然後再對錶達式進行判斷。
3、For語句
| 代碼如下 |
複製代碼 |
For迴圈是php中最複雜的迴圈結構,它的文法格式為: For(expression1;expression2;expression3){ statement; }
|
其中:expression1在第一次迴圈時無條件取一次值。
expression2在每次迴圈開始前求值,如果值為真,則執行statement;否則跳出迴圈,繼續往下執行。expression3為每次迴圈後被執行。
執行個體:
| 代碼如下 |
複製代碼 |
$num=1; for($i=1;$i<=100;$i++){ $num *=$i; } echo $num; ?>
|
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語句時,數組指標將自動被重設,所以不需要手動設定指標位置。執行個體
| 代碼如下 |
複製代碼 |
$arr=array(“We”,”are”,”the”,”best”,”team”,”!”); if(is_array($arr) == true){ foreach($arr as $key => $value){ echo $key.”=”.$value.” ”; } }else{ echo”該變數不是數組,不能使用foreach語句”; } ?>
|
http://www.bkjia.com/PHPjc/632683.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632683.htmlTechArticle在php中迴圈語句一般是使用while,for,foreach而控制語句就是if swicth這些了,下面我來給大家介紹一下php迴圈控制語句用法吧。 1、if..else迴圈有...