一、概述:

上面一章我们讲解了PHP当中的运算符和表达式,通过上面的知识点我们就可以完成一些基本的运算操作了。但是涉及到一些比较复杂的逻辑,分支与循环就必不可少了。通过分支和循环的结合使用可以使业务更加复杂,代码功能更加强大。

二、 常见的分支结构 if语句

1 单个 if 语句

基本格式:

if(条件表达式){

语句组;

//语句组为单条语句时可省略“{ }”。

}

当条件表达式的值为真(true)时,PHP将执行语句组,相反条件表达式的值为假(false)时,PHP将不执行语句组,忽略语句组执行下面的语句,可以参照下图

2 双向条件分支语句

格式如下

if(条件表达式){

语句组1

}else{

语句组2

}

if-else 条件判断与 if 条件判断类似,所不同的是,if-else 语句的条件表达式值为真(true)时,会执行 if 的本体语句(语句组1),而条件表达式值为假(false)时,则执行 else 的本体语句(语句组2)。

3 多向条件分支语句

格式如下

if(条件表达式1){

语句块1

}elseif(条件表达式1){

语句块2

}elseif(条件表达式n){

语句块n

}else{

语句块n+1

}

同上类似,只是在if后面添加多个 elseif选项,这样整条语句可以过滤更多的条件。

三、 常见的分支结构 switch语句

switch- case语句语法:

switch(表达式){

case  值1:

语句序列1;      break;

case  值2:

语句序列2;      break;

default:

语句序列 n;      break;

}

当程序执行碰到switch条件判断时,它会取出键值,并与case的各个情况对比。当遇到匹配的条件时,会执行case里面语句,直到遇到break语句为止。

需要注意的是 switch语句与if语句不同,它仅能判断恒等的关系,switch语句中case子句的常量可以是整型常量、字符型常量、表达式或变量,不可以是其他类型。

在同一个switch中,case子句的常量不能相同,否则第二个值永远无法匹配到。

四、 常见的循环语句

1 while语句

while循环语法:

while(表达式){

语句或语句序列

}

当while循环语句中表达式真时,程序将一直会执行循环体里面的内容,直到满足条件是假的时候才停止执行该段程序。如果条件一直是真,则该循环会一直循环下去,这就是死循环。所以我们在使用循环的时候,需要注意以下两个原则。

2 do while语句

基本格式:

do{

语句或语句序列

}while(表达式);

程序会先执行 do 语句体中的语句(循环体),然后再检查表达式(循环控制语句)的值,如果符合条件式(值为真),就再进行 do 语句体中的语句,直到条件不符合停止。

3 for循环

基本格式:

for(表达式1;表达式2;表达式3)

{

语句或语句序列;

}

for循环语句中表达式1为循环初始条件;表达式2为循环控制条件;表达式3为控制变量递增;语句或语句序列为循环体。

4 特殊控制语句

1. break

我们之前在 switch 条件判断中已经使用过 break 关键字,它会使得程序终止当前作用域 switch 本体中的语句,如果 break 使用在 for、while 或 do-while 循环结构中时,程序将会跳出循环

2. continue

continue 的作用与 break 有点类似,continue 若使用在 for、while 或 do-while循环结构中,当程序执行至 continue 时,之后的语句将直接被略过,而直接执行下一次循环

3. exit

当前的脚本中只要执行到exit语句,而不管它在哪个结构中都会直接退出当前脚本。

通过本章内容,我们可以清楚的了解分支和循环的使用,可以更好的控制流程来处理复杂的业务,大家可以能会感觉代码比较多,比较乱。下节将和大家一起学习下函数的使用,了解下如何编写更加简洁高效的代码。

PHP 分支与循环的更多相关文章

  1. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  2. SQL变量、运算符、分支、循环语句

    变量: SQL语言也跟其他编程语言一样,拥有变量.分支.循环等控制语句. 在SQL语言里面把变量分为局部变量和全局变量,全局变量又称系统变量. 局部变量: 使用declare关键字给变量声明,语法非常 ...

  3. SQL连接查询、变量、运算符、分支、循环语句

    连接查询:通过连接运算符可以实现多个表查询.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 常用的两个链接运算符: 1.join   on 2.union 在关系数据库 ...

  4. java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)

    JAVA里面的程序运行流程分三大类: 1,顺序结构:顺序结构就是依次执行每一行代码 2,分支结构:分支结构就是按不同的条件进行分支 3,循环结构:一段代码依条件进行循环执行. 其中,分支结构有两大类: ...

  5. MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API(转)

    转自:http://www.cnblogs.com/Yahong111/archive/2007/08/16/857574.html 续上文[翻译]MSIL 教程(一) ,本文继续讲解数组.分支.循环 ...

  6. 了不起的分支和循环03 - 零基础入门学习Python009

    了不起的分支和循环03 让编程改变世界 Change the world by program while循环 说完了分支我们来说说循环,标准的while循环语法我们已经可以熟悉掌握了. 这里我们就简 ...

  7. 了不起的分支和循环02 - 零基础入门学习Python008

    了不起的分支和循环02 让编程改变世界 Change the world by program 上节课,小甲鱼教大家如何正确的打飞机,其要点就是:判断和循环,判断就是该是不该做某事,循环就是持续做某事 ...

  8. 了不起的分支和循环01 - 零基础入门学习Python007

    了不起的分支和循环01 让编程改变世界 Change the world by program 我们今天的主题是"了不起的分支和循环",为什么小甲鱼不说C语言,不说Python了不 ...

  9. R学习笔记 第四篇:函数,分支和循环

    变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...

随机推荐

  1. ajax天气查询

    直接法伤代码: <!DOCTYPE html><html><head>    <meta charset="utf-8" />    ...

  2. 机器学习基石 5 Training versus Testing

    机器学习基石 5 Training versus Testing Recap and Preview 回顾一下机器学习的流程图: 机器学习可以理解为寻找到 \(g\),使得 \(g \approx f ...

  3. Django中使用CKEditor代码高亮显示插件Code Snippet

    Django使用CKEditor可以安装django-ckeditor这个模块,具体步骤可按照这里进行:http://www.nanerbang.com/article/2/ 我在富文本编辑器中想使用 ...

  4. yii2.0自带email

    大部分框架都有自带的email邮件发送类,yii的邮件发送也很简单,代码如下: 修改配置文件,普通版在(config/web.php).高级版默认配置在/common/config/main-loca ...

  5. Struts2之OGNL表达式

    OGNL(Object-Graph Navigation Language的简称),对象图导航语言,它是一门表达式语言,除了用来设置和获取Java对象的属性之外,另外提供诸如集合的投影和过滤以及lam ...

  6. Android 7.0(牛轧糖)新特性

    Android 7.0(牛轧糖)新特性 谷歌正式在I/O大会现场详细介绍了有关Android 7.0的大量信息.目前,我们已经知道,新一代Android操作系统将支持无缝升级,能够通过Vulkan A ...

  7. MSDN官方数据库开发群

    QQ群1:43563009 创建人:中国风(Roy_88) 创建时间:2007-07-21 当前人数:326人 QQ群2:27156079 创建人: fcuandy 创建时间:2008-03-20 当 ...

  8. Spring+SpringMVC+MyBatis+easyUI整合优化篇(一)System.out.print与Log

    日常啰嗦 距离上一次更新博客有一段时间了,主要是因为最近有开发任务,另外,这段时间也在学习docker的相关知识,所以博客就没有继续写了,推荐一本书<Docker技术入门与实战>(第二版) ...

  9. python学习随笔(三)

    在linux中输入密码,我们是看不到的,如果在python中直接输入是可以看的到的,执行以下程序 #!/usr/bin/env python username = raw_input("us ...

  10. Zookeeper的安装和初步使用

    1. Zookeeper集群角色 Zookeeper集群的角色:  Leader 和  follower  (Observer) zk集群最好配成奇数个节点 只要集群中有半数以上节点存活,集群就能提供 ...