在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";
}
?>