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