流程控制语句

顺序执行

自上而下,没有控制。

分支执行

if语句

// 单分支
if(条件){
// 条件成立就执行大括号的内容
执行语句;
}


// 双分支
if(条件){
执行语句
} else {
// 条件不成立就执行这个大括号的内容
执行语句;
}


// 多分支语句
if(条件1){
模块1;
} else if(条件2){
模块2;
} else if(条件3){
模块3;
...
} else if(条件n){
模块n;
} else {
模块last;
}
// 多分支的部分带入单分支和双分支即可,不过多解释了

switch语句

switch(表达式) {
case1: // 是否等于值1
语句块1;
break;
case2:
语句块2;
break;
case3:
语句块3;
break;
...
case 值n:
语句块n;
break;
// 执行到最后,都不满足值的条件就执行这个,和else差不多
default:
语句块last;
}

这个和java一样,有穿透效果。
简单来说,值匹配正确了,语句块下面没有break及时退出,就会出现执行到底的情况。

// 举个简单的例子
$a = 3;
switch($a) {
case 1:
echo "day01 <br>";
break;
case 2:
echo "day02<br>";
break;
case 3:
echo "day03<br>";
case 4:
echo "day04<br>";
case 4:
echo "day05<br>";
case 4:
echo "day06<br>";
default:
echo "day00<br>"
}

// 上面执行输出的结果就是:
day03
day04
day05
day06
day00

// 注意:值最好是整形和字符串,没有语句块和break时,会自动穿透到下面。
// 具体格式请仔细观察。

循环执行

while和do…while

// 如果表达式为true,循环将一直执行(不控制则为死循环)
// 如果表达式为false,循环将直接终止(循环控制,跳出循环的关键在语句块)
while(表达式) {
语句块;
}

// 与上面不同的是:先执行语句块,再进行表达式的判断
do {
语句块;
} while (表达式);

for

for(初始化语句;条件判断;自增/自减语句){
语句块;
}

// 简单举例:
for ($a = 0 ; $a < 5 ; $a++) {
echo $a;
}

// 结果:01234
// 同样,条件判断为true就执行语句块。

特殊流程控制语句

// 循环有嵌套。
break; // 退出循环,后面加数字时会指定退出第几层循环 退出后它所在的循环就废了
continue; // 退出当前循环,继续下一轮循环 退出后它的循环若还没达到退出条件,依然会继续执行
exit(); // 退出程序 里面可以塞个字符串做退出提示