1)順序執行
不做控制,按照代碼的先後順序依次執行
2)分支執行
順序執行太過死板,需要引入分支執行
分支執行可以根據條件是否滿足來選擇執行某些代碼,PHP的分支執行主要通過兩種語句(if、switch)來實現
if 語句:
1. 單向條件:
if(表達式) 語句1;
如果表達式的值爲true,那麼就執行語句1,否則就不執行
2. 雙向條件:
$pass=60;
$a=40;
if($a>=$pass){
echo 'Congratulation, you passed!';
}
else{
echo 'Sorry, you failed!';
}
3. 多項條件
$a=96;
$grade1=60; //<60 failed
$grade2=75; //<75 passed
$grade3=85; //<85 Get good grades
if($a<$grade1){
echo 'Failed';
}
else if($a<75){
echo 'Passed';
}
else if($a<85){
echo 'Get good grades'; //執行這一步說明上面的都沒執行,上面有一步執行整個程序就結束了
}
else{
echo 'outstanding academic results';
}
switch 語句
注意:
表達式的值最好是整形或字符串
不要忘記break語句來跳出switch語句
如果某個case語句並沒有接語句塊,那麼就說明這個語句塊的內容是同下
case後面的語句塊是不需要{ }括起來的,多條語句也不需要 { }
<?php
header('Content-type:text/html;charset=utf-8');
$a=1;
switch($a){
case 1: // case相當於=
echo 'Today is Monday<br/>';
break;
case 2:
echo 'Today is Tuesday<br/>';
break;
case 3:
echo 'Today is Wednesday<br/>';
break;
case 4:
echo 'Today is Thursday<br/>';
break; //break是跳出、打斷的意思
case 5:
echo 'Today is Friday<br/>';
break;
case 6:
echo 'Today is Saturday<br/>';
break;
case 7:
echo 'Today is Sunday<br/>';
break;
default:
echo '數字沒匹配上,不知道今天是星期幾!';
}
echo '執行完畢!';
3)循環執行
while 語句
while(表達式) {
各種語句....
}
當表達式的值爲true,那麼就執行下面的語句塊,當語句塊執行結束後,繼續返回上面來判斷表達式的值是true還是false,
如果還是true,那麼久繼續執行語句塊,直到這個表達式的值爲false,那麼while語句就執行結束
$i=0;
while($i<10){
echo $i++.'<br/>';
}
echo 'End of program execution!';
do...while 語句
do{
各種語句...
}while(表達式吧);
$i=0;
do{
echo $i++.'<br/>';
}while($i<10);
echo 'End of program execution!';
for 語句
for(表達式a; 表達式b; 表達式c){
各種語句....
}
表達式a: 會放一些初始化的語句, $i=0, 放多個表達式,中間用逗號隔開
表達式b: 會放一些用來判斷true或false的表達式
表達式c:會放一些對初始化的變量進行自增的語句
執行順序:
表達式a
表達式b 如果是true
語句塊
表達式c
表達式b
4)特殊的流程控制語句
break語句:
用於switch語句、for、while、do...while、foreach用於終斷這些語句
後面可以接上一個數字來表示跳出幾層循環,默認不加表示跳出當前循環語句
for($i=0;$i<10;$i++){
if($i==5){
break 1; //中端循環語句,後面的數字表示跳出第幾層for循環
}
echo "執行到第{$i}遍了<br/>";
}
echo 'End of program execution';
continue語句:
只能用在循環語句,跳出本次循環,並不是結束整個循環語句
for($i=0;$i<10;$i++){
if($i==5){
break 1; //中端循環語句,後面的數字表示跳出第幾層for循環
}
echo "執行到第{$i}遍了<br/>";
}
echo 'End of program execution';
exit( ) 語句:
結束exit(); 之後所有代碼的執行
echo 'Perform step 1<br/>';
exit('Sorry, the program end!');
echo 'Perform step 2<br/>';
echo 'Perform step 3<br/>';
echo 'Perform step 4<br/>';
echo 'Perform step 5<br/>';