3-1. PHP流程控制:if 語句、switch 語句、循環語句、特殊的流程控制語句

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/>';

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章