在php中循環語句一般是使用while,for,foreach而控制語句就是if swicth這些了,下面我來給大家介紹一下php循環控制語句用法吧。
1、if..else循環有三種結構第一種是只有用到if條件,當作單純的判斷,解釋成"若發生了某事則怎樣處理"。
語法如下:if(expr){statement}其中的expr為判斷的條件,通常都是用邏輯運算符號當判斷的條件,而statement為符合條件的執行部分程序,若程序只有一行,可以省略大括號{}。
范例:本例省略大括號。
- <?php
- if($state==1)
- echo"哈哈";
- ?>
這里特別注意的是,判斷是否相等是==而不是=,ASP程序員可能常犯這個錯誤,=是賦值。
范例:本例的執行部分有三行,不可省略大括號,代碼如下:
- <?php
- if($state==1){
- echo"哈哈;
- echo"<br>";
- }
- ?>
第兩種是除了if之外,加上了else的條件,可解釋成"若發生了某事則怎樣處理,否則該如何解決".
語法如下:
- if(expr){
- statement1
- }else{
- statement2
- }
范例:上面的例子來修改成更完整的處理,其中的else由于只有一行執行的指令,因此不用加上大括號,代碼如下:
- <?php
- if($state==1){
- echo"哈哈";
- echo"<br>";
- }else{
- echo"呵呵";
- echo"<br>";
- }
- ?>
第三種就是遞歸的if..else循環,通常用在多種決策判斷時,它將數個if..else拿來合并運用處理,直接看下面的例子:
- <?php
- 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循環寫的的例子,代碼如下:
- <?php
- for($i=1;$i<=10;$i
- ){
- echo"這是第".$i."次循環<br>";
- }
- ?>
3、switch循環,通常處理復合式的條件判斷,每個子條件,都是case指令部分,在實作上若使用許多類似的if指令,可以將它綜合成switch循環,語法如下:
- switch(expr){
- caseexpr1:
- statement1;
- break;
- caseexpr2:
- statement2;
- break;
- default:
- statementN;
- break;
- }
其中的expr條件,通常為變量名稱,而case后的exprN,通常表示變量值,冒號后則為符合該條件要執行的部分,注意要用break跳離循環,代碼如下:
- <?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循環就很麻煩了,當然在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最后面,可以增加程序的執行效率,上例由于每天出現的機率相同,所以不用注意條件的順序。
php循環控制語句
1、While語句
While循環是php中最簡單的循環語句,他的語法格式是:
- While (expression){
- statement;
- }
當表達式expression的值為真時,將執行statement語句,執行結束后,再返回到expression表達式繼續進行判斷,直到表達式的值為假時,才跳出循環。
實例代碼如下:
- <?php
- $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為每次循環后被執行。
實例代碼如下:
- <?php
- $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語句時,數組指針將自動被重置,所以不需要手動設置指針位置,實例代碼如下:
- <?php
- $arr=array(“We”,”are”,”the”,”best”,”team”,”!”);
- if(is_array($arr) == true){
- foreach($arr as $key => $value){
- echo $key.”=”.$value.”<br>”;
- }
- }else{
- echo”該變量不是數組,不能使用foreach語句”;
- }
- ?>
新聞熱點
疑難解答