流程控制
流程控制
1.概述
任何PHP脚本都是由语句组成的。 此外,还可以用花括号将一组语句封装成一个语句组,语句组本身可以当作是一行语句
2.在PHP中有三种基本的程序结构:
顺序结构
分支结构
循环结构
顺序结构
在程序结构中,最基本的就是顺序结构,表示程序会自上而下的顺序执行。
流程控制之分支结构:
1. 单向分支
if (表达式为true) {
执行真区间
}
2. 双向分支
if (true) {
表达式为true执行真区间
} else {
表达式为false执行假区间
}
3. 多向分支
if (表达式1) {
表达式1为true执行真区间,这个分支就执行完了,否则继续往后
} elseif (表达式2) {
表达式2为true执行这里,这个分支就执行完了,否则继续往后
} elseif (表达式3) {
表达式3为true执行这里,这个分支就执行完了,否则继续往后
} else {
表达式为false执行假区间
}
if分支的特点:
1. 所有的条件表达式最终都会被转换为布尔值,要么为true,要么为false
if ('123') { true }
2. 当if后面没有花括号{}包裹的时候,只会执行1条PHP语句(了解)
3. else if中间可以加上一个或多个空格隔开(了解)
4. 流程控制有一些替代写法(了解)
4. 巢状分支(就是if嵌套)
5. switch语句的多向分支
switch (表达式) {
case 值1:
语句体;
case 值2:
语句体;
...
default:
语句体;
}
switch会取出括号里的值,然后与语句体中的case所列出的值逐一比较(用==比较),如果结果为false,则将结果往下一个case传递;如果为true,则执行该case中的语句体;然后再碰到break语句即跳出switch条件判断,如果所有的值比对都不符合,则会执行default中的语句体
流程控制之循环结构:
1、while循环
while (表达式) {
循环体;
}
当‘表达式’的结果为真时,程序将反复执行‘循环体’,直到表达式的结果为假时才停止执行该段程序,循环结束
2、do...while循环
do {
循环体
} while (表达式);
程序会先执行 do 里面的循环体,然后再检查表达式是否为真;
真,就再进行 do 语句体中的语句;
假,循环立马结束,不再执行循环体;继续运行后续代码
3、for循环
for (初始化语句; 条件判断语句; 每次循环后执行的语句) {
循环体;
}
初始化语句:在整个循环开始前,无条件的执行一次,并且只有一次;
条件判断语句:在每次循环前都会判断,为true执行循环体,为false就终止循环
每次循环后执行的语句:每单次循环后都会执行这个语句
特殊的流程控制语句:
break 跳出整个循环
continue 跳出本次循环,继续下一次循环
exit 或者 die 结束脚本执行;
die;
exit;
die();
exit();
die('结束时输出的字符串');
exit('结束时输出的字符串');
流程控制的替代语法:
替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor; 以及 endswitch;。
do-while 只有一种语法,没有替代语法
1.概述
任何PHP脚本都是由语句组成的。 此外,还可以用花括号将一组语句封装成一个语句组,语句组本身可以当作是一行语句
2.在PHP中有三种基本的程序结构:
顺序结构
分支结构
循环结构
顺序结构
在程序结构中,最基本的就是顺序结构,表示程序会自上而下的顺序执行。
流程控制之分支结构:
1. 单向分支
if (表达式为true) {
执行真区间
}
2. 双向分支
if (true) {
表达式为true执行真区间
} else {
表达式为false执行假区间
}
3. 多向分支
if (表达式1) {
表达式1为true执行真区间,这个分支就执行完了,否则继续往后
} elseif (表达式2) {
表达式2为true执行这里,这个分支就执行完了,否则继续往后
} elseif (表达式3) {
表达式3为true执行这里,这个分支就执行完了,否则继续往后
} else {
表达式为false执行假区间
}
if分支的特点:
1. 所有的条件表达式最终都会被转换为布尔值,要么为true,要么为false
if ('123') { true }
2. 当if后面没有花括号{}包裹的时候,只会执行1条PHP语句(了解)
3. else if中间可以加上一个或多个空格隔开(了解)
4. 流程控制有一些替代写法(了解)
4. 巢状分支(就是if嵌套)
5. switch语句的多向分支
switch (表达式) {
case 值1:
语句体;
case 值2:
语句体;
...
default:
语句体;
}
switch会取出括号里的值,然后与语句体中的case所列出的值逐一比较(用==比较),如果结果为false,则将结果往下一个case传递;如果为true,则执行该case中的语句体;然后再碰到break语句即跳出switch条件判断,如果所有的值比对都不符合,则会执行default中的语句体
流程控制之循环结构:
1、while循环
while (表达式) {
循环体;
}
当‘表达式’的结果为真时,程序将反复执行‘循环体’,直到表达式的结果为假时才停止执行该段程序,循环结束
2、do...while循环
do {
循环体
} while (表达式);
程序会先执行 do 里面的循环体,然后再检查表达式是否为真;
真,就再进行 do 语句体中的语句;
假,循环立马结束,不再执行循环体;继续运行后续代码
3、for循环
for (初始化语句; 条件判断语句; 每次循环后执行的语句) {
循环体;
}
初始化语句:在整个循环开始前,无条件的执行一次,并且只有一次;
条件判断语句:在每次循环前都会判断,为true执行循环体,为false就终止循环
每次循环后执行的语句:每单次循环后都会执行这个语句
特殊的流程控制语句:
break 跳出整个循环
continue 跳出本次循环,继续下一次循环
exit 或者 die 结束脚本执行;
die;
exit;
die();
exit();
die('结束时输出的字符串');
exit('结束时输出的字符串');
流程控制的替代语法:
替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor; 以及 endswitch;。
do-while 只有一种语法,没有替代语法