流程控制
计算机的流程控制可以分为三种
顺序结构:
程序自上而下的一个执行过程
分支结构:
根据某一个条件将程序转向不同的分支执行
循环结构:
计算机最大的特点计算机速度快,计算机主要用于解决重复性的问题
分支结构
if分支
单分支
语法:
if(表达式){ //语句体 }
说明:
当表达式成功时,执行语句,如果不成功直接结束if结构,继续其后的语句执行
双分支
语法:
if(表达式){ 语句体A }else if(表达式B){ 语句体B }
说明:
当表达式A成功时,执行语句体A,如果不成立来判断表达式B,如果表达式B成立,执行语句体B
当任何一个语句体执行结束后,不再进行其他表达式的判断
示例:
多分支
语法:
if (表达式A) { 语句体A } else if (表达式B { 语句体B } else if (表达式C) { 语句体C } else { 缺省语句体 }
说明:
自上而下的判断各自表达式,当某个表达式成立时,执行相应的语句体
语句体执行结束后,不会再判断其他的表达式
当所有的表达式都不成立,执行缺省语句体
switch结构
当一个问题需要判断的条件笔记多时,php有提供了一个swithc分支结构
语法:
switch(变量){ case 值1: 语句体1 break; case 值2: 语句体2 break; case 值3: 语句体3 break; default: 缺省语句体 }
说明:
根据switch后的变量与case后的值的匹配情况,将程序转向不同的语句体执行。
break可以省略。
当一个语句体执行结束后,如果没有遇到break,则会执行其后的语句体,不会判断其后case的值。
示例:
if与switch的区别:
if结构的条件可以表示一个范围。
switch结构主要用于表示一个具体的值
循环结构
for循环
循环结构主要是用于解决重复性问题
语法:
for(循环控制变量初始化;表达式;循环控制变量的更改){ //循环体 }
说明:
循环控制变量初始化;表达式;循环控制变量的更改 循环3要素。
a、首先执行循环控制变量初始化,此步仅执行1次。
b、判断表达式是否成立,如果不成立直接结束循环体,继续其后的语句执行。
c、如果成立,执行循环体。
d、循环体执行结束后,执行循环控制变量的更改,
e、往复执b、c、d,直到循环控制变量的值主表达式不成立时,结束循环结构。
循环嵌套:
提示:
双层循环的嵌套主要解决具有行列特性的问题。
使用程序语言解决问题的思路:
首先要判断使用何种流程控制。
再将问题中的条件转换为计算机能够表达的式子。
示例:
课堂案例:
while循环
语法:
while(表达式){ //循环体 }
说明:
只要是循环必须有3要素组成。但是while循环的语句结构中仅出现了表达式。
另外两个要素需要自己设计。
首先判断表达式是否成立?
不成立,直接结束循环结构,继续其后的语句执行。
成立,执行循环体,循环体执行结束后,再来判断表达式。循环往复的执行。直接到表达式不成立。
示例:
for与while的区别:
对于for循环结构,主要用于循环次数已知或根据某一条件可以确定
while用于循环次数未知的循环
do ... while
语法:
do{ //循环体 }while(表达式)
说明:
首先执行循环体
循环体执行结束后,判断表达式是否成立,
如果不成立,直接结束循环结构,继续其后的语句执行,
如果成立,再执行循环体。往复的执行,直到表达式不成立。
循环的结束和退出
continue
语法:
continue 【n】;
说明:
n的取值是一个整数,如果省略默认是1,
n主要是用在循环嵌套的情况下。
结束当前循环结构的本次循环,继续上n层循环结构的下一次循环。
示例:
for($i=0;$i<=10;$i++){ if($i == 3){ continue; } echo $i,"</br>"; }
break
语法:
break 【n】;
说明:
n的取值是一个整数,如果省略默认是1,
n主要是用在循环嵌套的情况下。
直接结束上n循环循环结构
示例:
for($i=0;$i<=10;$i++){ if($i == 3){ break; } echo $i,"</br>"; }
流程控制的标签语法
php在将php代码嵌入到html文档时,又提供了一种标签语法。
if标签语法
标准语法
<?php if(...):?> <?php endif?>
简化语法
<?php if(...){?>
<?php }?>
for标签语法
标准语法
<?php for():?> <?php endfor?>
简化语法
<?php for(){?>
<?php }?>
while的标签语法
标准语法
<?php while():?> <?php endwhile?>
简化语法
<?php while(){?>
<?php }?>