流程控制对于任何一门编程语言来讲,都是至关重要的。
3种流程控制:顺序结构,分支结构和循环结构
- 分支结构
4种分支结构:单分支,双分支,多分支和分支的嵌套
① 单分支
if(表达式)
{
代码块
}
② 双分支
if(表达式)
{
代码块
}
else{
代码块
}
③ 多分支
多分支分为两种:if和elseif搭配,switch和case搭配
主要需要注意的是跳楼现象
switch语句书写的时候要注意写上break;
④ 分支的嵌套
分支语句里面套分支语句
If(表达式)
{
If(表达式)
{
Switch()
{
代码块
}
}
}
If和switch和elseif都是可以相互嵌套的
课堂练习:输入一个人的年龄,判断他是退休了还是没有退休,男士60岁退休,女士是55岁退休,如果退休了,打印输出退休了多少年,如果没有退休,打印输出还有多少年退休
这里首先有两个页面,test.php和test2.php
Test.php
Test2.php
综合练习:一个简单的计算机
Html部分代码:
Php部分代码:
- 循环结构
循环结构和其他语言也是一样的,大致分为3种:for循环,while循环,do..while循环
for(初始化;条件表达式;增量)
{
循环体
}
while(条件表达式)
{
循环体
}
do{
循环体
}while(条件表达式)
课堂练习1:使用for循环打印出倒着的九九乘法表
课堂练习2:用户输入一个数,判断是否为回文数
课堂练习3 :打星星
课堂练习4:打印出S=a+aa+aaa+aaaa...
Forech对数组进行遍历,可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。
特殊流程控制语句
① Break
常用于switch和循环里面,如果是用在switch里面,代表跳出当前的case,如果是用在循环里面,代表跳出循环。
但是。PHP里面的break比C语言,JS的break还要强大
PHP里面的break可以指定你要跳出几层
如下:case6下面的break不仅跳出了switch,还跳出while
② Continue
作用:结束本次循环,直接进入下次循环。PHP里面的continue同样比C语言和JS的强大,和break一样,可以指定结束哪一次循环
continue 接受一个可选的数字参数来决定跳过几重循环到循环结尾。默认值是 1,即跳到当前循环末尾。
For(;;)
{
For(;;)
{
For(;;)
{
Continue 3;
}
}
}
Continue,break可指定跳出多层
③ Exit语句
当PHP脚本执行到exit(),不管现在在哪一个结构里面,都会直接退出当前的脚本。可以给该函数传一段字符串作为消息提示。
还有一个需要注意:用了exit()之后后面的脚本也进不去了
如下:
效果:后面的脚本也无法进入了
该函数有一个别名函数,叫做die()函数,两者功能是一样的,只是名字不同而已
Die(“出问题了”);
退出脚本,并给出提示
④ goto语句
goto语句是PHP5.3之后新增加的功能。作用就是跳转到程序的某个位置。
Goto的用法需要跟一个标记
K:
。。。。。
。。。。。
。。。。。
Goto K;
Goto语句无法跳入一个函数或者一个循环
如下:
效果:因为goto语句无法跳入函数或者循环,所以直接报错
goto 操作符可以用来跳转到程序中的另一位置。该目标位置可以用目标名称加上冒号来标记,而跳转指令是 goto 之后接上目标位置的标记。PHP 中的 goto 有一定限制,目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,也无法跳入到另一个函数。也无法跳入到任何循环或者 switch 结构中。可以跳出循环或者 switch,通常的用法是用 goto 代替多层的 break。