在php語言中,基本的流程式控制制結構有:順序結構、分支結構、迴圈結構。
常用的控制語句主要有:
if、if…else判斷語句
switch 分支語句
while、do…while迴圈語句
for 迴圈語句
break、continue中斷語句
php if語句是一個簡單的判斷語句,即是實現條件判斷的功能。當程式執行一段語句時,遇到二岔路口,通過判斷語句的值是否滿足條件而選擇執行相對應的語句。所以if語句是最基本的php條件運算式。
基本結構為:
if(判斷語句)
{
執行語句體
}
執行個體:
代碼如下 |
複製代碼 |
<?php $a=8; $b=4; if($a>$b){ /* 若$a>$b,則執行大括弧內的執行語句 */ $a++; } $c=$a+$b; echo "a+b=".$c; ?> |
if語句可以選擇是否執行語句體,而if…else語句則是二選一,必須在兩個語句體中選擇一個來執行。可以解釋為“若發生了什麼事則怎麼處理,否則該如何解決”,所以if…else本質上是一種選擇性語句。
如果值為非0(即真),則執行語句體1,值為0(即假),則執行語句體2.
if…else語句的基本結構為:
if(判斷語句)
{
執行語句體1
}
else
{
執行語句體2
}
執行個體:
代碼如下 |
複製代碼 |
<?php $a=11; $b=9; if($a>$b){ $c=$a+$b; } else{ $c=$a-$b; } echo $c; ?> |
if…else語句只能實現兩路分支,要實現多路分支用多個if…else語句嵌套即可。其結構形式如下:
if(判斷語句1){
執行語句體1
}
else if(判斷語句2){
執行語句體2
}
else if…
else…
執行個體:
代碼如下 |
複製代碼 |
<?php $score=61; if($score >=90){ echo "成績優秀"; } else if($score >=60){ echo "及格."; } else if($score <60){ 不及格; } else echo "成績有誤"; ?> |
在if語句中可以嵌套多個if()語句,以實現多多個參數的判斷,一般稱為if語句多種嵌套,其基本結構形式如下:
if(判斷1)
if(判斷2) 語句體1
else 語句體2
else
…
這裡應當注意if和else的配對關係,從內層開始,else總是與它上面最近的if配對,在編程時要特別小心。
執行個體:
代碼如下 |
複製代碼 |
<?php $gender="女性"; $age=28; if($gender=="男性"){ if($age >=18){ echo "你是個男人"; } else if($age <18){ echo "你是個男孩"; } } else{ if($age >=18){ echo "你是個女人"; } else if($age <18){ echo "你是個女孩"; } } ?> |
前面介紹了if…else嵌套結構可以實現多分支選擇的功能,不過這種方法代碼比較冗長。實現多分支選擇的功能,php還提供了switch語句。用switch語句事程式變得更加簡明了。
基本結構:
switch(運算式){
case 1:
執行語句體1;
break;
case 2:
執行語句體2;
break;
...
default:
執行語句體n;
break;
}
運算式的值首先與case語句逐個匹配,如果匹配得上則執行該語句體,然後跳出迴圈。如果最終沒有case語句匹配,則執行default後面的執行語句。
執行個體:
代碼如下 |
複製代碼 |
<?php $i=0; switch($i){ case(0): echo "you are a girl<br>"; break; case(1): echo "you are a boy<br>"; break; default: echo "it's an animal"; } ?> |