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/>';
发布了198 篇原创文章 · 获赞 82 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/weixin_38134491/article/details/104567778