任何 PHP 指令碼都是由一系列語句構成的。一條語句可以是一個指派陳述式,一個函數調用,一個迴圈,一個條件陳述式或者甚至是一個什麼也不做的語句(空語句)。語句通常以分號結束。
從執行方式上看,語句的控制結構分為以下三種:
1、 順序結構:從第一條語句到最後一條語句完全順序執行;
2、 選擇結構:根據使用者輸入或語句的中間結果去執行若干任務;
3、 迴圈結構:根據某條條件重複地執行某項任務若干次,或直到達成目標即可。
PHP中 有三種控制語句用以實現選擇結構與迴圈結構:
1、 條件控制語句:if、else、elseif和switch;
2、 迴圈控制語句:foreach、while、do while和for;
3、 轉移控制語句:break、continue和return。
條件控制語句:
If語句,用法:
If(A)
Statement1;
Else
Statement2;
解析:如果A為true,則執行statement1;否則執行statement2。
例子,代碼:
<?php $a = 59; //根據$a的值,判斷是否及格。如果>=60則輸出及格 if($a>=60){ echo “及格”; }else echo “不及格”;?>
If···elseif···else語句,用法:
If(A)
Statement1;
Elseif(B)
Statement2;
Else
Statement3;
解析:如果A為TRUE,則執行statement1。否則,如果B的值為TRUE,則statement2;否則執行statement3。當然:if語句也可以嵌套。
下面是個If···elseif···else的例子:
<?php $a = 59; if($a>=60) //在大於等於60的情況裡在進行分類 { if($a==100) echo “滿分”; elseif($a>=90) echo “優秀”; else echo “及格”; } else echo “不及格”;?>
Switch語句,文法如下:
Switch(A)
{
Case val1:
Statement1;
Break;
Case val2:
Statement2;
Break;
Default:
Statement3;
}
當一個case語句中的值和switch運算式A的值匹配時,PHP開始執行語句,直到switch程式段結束或者遇到第一個break語句為止
(如果沒有遇到break,則PHP將繼續執行下一個case)。
下面是一個沒有break的例子:
<?php switch($leve1) { case 3: echo “進階”; case 2: echo “中級”; case 1: echo “初級”; default: echo “錯誤的等級值”; }?>
由此你想到了什嗎??
<?php $level = 3; switch($level) { case 3: echo “賦予管理員權限”; case 2: echo “賦予站務許可權”; case 1: echo “賦予版主許可權”; default: echo “賦予普通使用者權限”; }?>
與if相比switch達到了更高的效率:
<?php $a = 59; switch($a) { case $a == 100; echo “滿分”; break; case $a >= 90; echo “優秀”; break; case $a >= 60; echo “及格”; break; default: echo “不及格”; }?>
那麼迴圈語句是幹嘛用的呢?當然是用於反覆地執行某一個操作。
While 與do···while
While的文法:
While(A)
Statement;
解析:只要while運算式中的A為TRUE,就執行statement。
do···while的文法:
do
{
Statements;
}
while(A)
do···while與while的區別只是在迴圈結束時do···while進行檢查,不管迴圈的條件滿足與否,do···while都將執行一次。
例如:
<?php $a = 5; //先判斷$a是否大於5,如果大於5則執行。 while($a>5) { echo “This is while.”; $a–; } do //先執行do之內的語句,然後進行判斷。 { echo “This is do…while.”; $a–; } while($a > 5)?>
For語句,文法:
For(A;B;C)
Statement;
分析:第一個運算式在迴圈開始時先無條件的執行一次,一般A都為指派陳述式;B在迴圈開始前運行,如果為TRUE,
則繼續迴圈,執行迴圈的嵌套語句;C在迴圈之後執行,一般都是自加自減運算。
代碼:
<?php for($a = 5;$a > 5;$a–); echo “This is for”; ?>
Foreach語句,用於數組的遍曆,以後將會學到。
轉移控制語句
PHP中主要有三種轉移控制語句:break、continue和return。
1、 break語句
break語句用於結束當前迴圈,break可以接受一個可選的數字參數來決定跳出幾重迴圈。
例子:
<?php $a = 5; $b = 10; while($a <100) //$a<100開始迴圈 { echo “a = “.$a.”<BR>”; //輸出$a,“.”時串連運算子,相當於java中的“+” while($b > 0) //$b>0,開始迴圈 { echo “b = ” .$b.”<BR>”; //輸出$b $b–; if($b == 3 ) //如果$b==3,則跳出while($b>0) break; } $a++; if($a == 30) break; //如果$a==30,就跳出while($a<100) } ?>
Continue語句
Continue用於跳出本次迴圈,與break不同的是,continue跳出後將繼續執行下一次迴圈。
Return語句 Return語句用於結束一個函數或者一個指令檔。如果在一個函數中調用return語句將立即結束這個函數的執行,並將它的值作為參數返回。
當然,在PHP中也可以將return當做一個函數來使用。如return(),並在括弧內寫上要返回的參數。這種用法並不常見。