编程之路之php流程控制详解【文末有福利】

一、什么是流程控制

就是对程序执行过程的控制。通常使用逻辑判断来实现。

流程控制分为

顺序结构:代码按顺序从前向后执行

分支结构:通过条件判断,执行不同的代码段。If  switch

循环结构:执行相同的代码段,直到条件不满足。For  while  do-while

二、流程图

猜数字小游戏

电脑随机一个0-10之间的数,让我们去猜。

如果没猜对,电脑会告诉你猜大小,还是猜小了。你再继续猜,真到猜中。

猜中后,显示是什么 数,猜了几次。

椭圆:代表开始和结束

矩形:代表操作

菱形:代表条件判断

箭头:代表执行方向

平行四边形:代表数据的输入和输出

三、分支结构

1.If,条件分支

 

一个实用的编程技巧,右边如果是值时放到左边

If/else

在编程中,更多的时候,使用if/else要多于if

 

If/elseif/else

 

如果把elseif写成else if执行结果是一样的

 

但是语法上有不同的地方,后一种分开的方式相当于if结构的嵌套

 

不推荐分开的写法,而且我们平时编程时,也不要写类似的多层嵌套。

2.Switch,状态分支

Switch结构只进行一次条件判断

执行代码段后,如果此段没有break,则转到下一个case的代码段中继续执行,不会进行判断。如果遇到break,则整个switch结构结束。

编程时,如果if/elseif/else层数了,就用switch吧

实际上还要判断一下,如果if中是状态值判断,就可以用switch,如果是大于,小于一类的判断,就不能改成switch

否则 ,就会出现,0分学生变优秀。

四、循环结构

循环结构有:for   foreach  while   do-while

1.for

名称

执行次数

作用

表达式1

1

进行循环参数的初始化

表达式2

N+1

设定条件,判断是否结束循环。作用就是条件判断

表达式3

N

改变循环参数

3个表达式,都可以被省略,语法上是合格的

我们再说一下刚才表达式1中写多个子表达式时逗号的作用

逗号隔开,各个子表达式会分别执行。

总的表达式1的结果是:最后一个子表达式的运算结果

2.Foreach

是专门用于遍历数组元素的循环结构

先把指针指向第一个元素,每次循环时取出一个元素,把元素的键赋给$k,把元素的值赋给$v

执行循环体内的代码

然后指针向前移动一下,判断是否是合法的指针,退出循环

3.while

 

从中分析:

首先执行的是条件表达式

如果条件表达式满足,就执行循环体中的代码

如果不满足,就退出循环体

循环的次数是不确定的

条件判断中的参数是需要在循环体内的代码进行改变的!

 

While循环一般用于循环次数不确定的情况

4.Do-while

与while循环的区别是,do-while至少执行一次循环结构中的代码

5.循环跳出之Break,continue

Break和continue都是用于终止循环

Break终止本次循环,并退出整个循环体

Continue终止本次循环,开始下一次循环

条件符合时,break将终止本次循环(echo ‘<hr>’没被执行),同时退出整个循环

条件符合时,continue将终止本次循环,它下面的代码不会被执行。然后回到循环的头部,表达式3运行,再判断表达式2,满足则进行下一次循环,不满足结束整个循环。

Break n和continue n

N是一个整数,同样都是终止本次循环,然后跳出几层循环

Break 3的情况

6.程序跳转之goto

可以让程序跳转到另一个位置

 

使用goto时的注意事项:

  1. Goto只能在脚本程序及相同作用域中跳转
  2. 不能跳转到函数中
  3. 不能跳转到循环体中,但是从循环体中向外跳是可以 的
  4. 不能从函数中跳到函数外,但是可以在函数内跳转

代替的知识:

用goto来代替break和continue

下面的例子中代替了continue

可以使用continue代替switch中的break

在PHP中,把switch看成是循环次数为1 的一个循环结构

五、流程控制之替代语法

替代语法把分支或循环结构的大括号进行了替代

把左大括号替换成冒号

右大括号用endif;  endswitch;  endfor;  endforeach;  endwhile;来代替

(do-while是没有替代语法的)

 

在应用上,主要是嵌入html时候用的多

我是小咖,一个正在前往大神之路的小咖。

发个邀请:
如果你正好想学习php,可以与我一起交流,我的VX:feilueze333。下面资料免费赠送

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值