PHP 分支与循环
一、概述:
上面一章我们讲解了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 分支与循环的更多相关文章
- 【.net 深呼吸】细说CodeDom(8):分支与循环
有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...
- SQL变量、运算符、分支、循环语句
变量: SQL语言也跟其他编程语言一样,拥有变量.分支.循环等控制语句. 在SQL语言里面把变量分为局部变量和全局变量,全局变量又称系统变量. 局部变量: 使用declare关键字给变量声明,语法非常 ...
- SQL连接查询、变量、运算符、分支、循环语句
连接查询:通过连接运算符可以实现多个表查询.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 常用的两个链接运算符: 1.join on 2.union 在关系数据库 ...
- java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)
JAVA里面的程序运行流程分三大类: 1,顺序结构:顺序结构就是依次执行每一行代码 2,分支结构:分支结构就是按不同的条件进行分支 3,循环结构:一段代码依条件进行循环执行. 其中,分支结构有两大类: ...
- MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API(转)
转自:http://www.cnblogs.com/Yahong111/archive/2007/08/16/857574.html 续上文[翻译]MSIL 教程(一) ,本文继续讲解数组.分支.循环 ...
- 了不起的分支和循环03 - 零基础入门学习Python009
了不起的分支和循环03 让编程改变世界 Change the world by program while循环 说完了分支我们来说说循环,标准的while循环语法我们已经可以熟悉掌握了. 这里我们就简 ...
- 了不起的分支和循环02 - 零基础入门学习Python008
了不起的分支和循环02 让编程改变世界 Change the world by program 上节课,小甲鱼教大家如何正确的打飞机,其要点就是:判断和循环,判断就是该是不该做某事,循环就是持续做某事 ...
- 了不起的分支和循环01 - 零基础入门学习Python007
了不起的分支和循环01 让编程改变世界 Change the world by program 我们今天的主题是"了不起的分支和循环",为什么小甲鱼不说C语言,不说Python了不 ...
- R学习笔记 第四篇:函数,分支和循环
变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...
随机推荐
- 深入理解java虚拟机之——JVM垃圾回收策略总结
如何判断一个对象是否存活 引用计数算法:给对象中添加一个引用计数器,每当有引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器为0的对象就是不可能再被使用. Java虚拟机里面没有 ...
- mysql编程---函数
(存储)函数: 函数,也说成"存储函数",其实就是js或php中所说的函数! 唯一的区别: 这里的函数必须返回一个数据(值): 定义形式: 注意事项: 1, 在函数内容,可以有各种 ...
- Omi v1.0震撼发布 - 令人窒息的Web组件化框架
原文链接--https://github.com/AlloyTeam/omi 写在前面 Omi框架经过几十个版本的迭代,越来越简便易用和强大. 经过周末的连续通宵加班加点,Omi v1.0版本终于问世 ...
- 读learning spark lighting chapter1~chapter2
chapter 1 introduction to the analysis with spark the conponents of Sparks spark core(contains the b ...
- Excel制作多选下拉框代码以及图示
1.首先 点击Sheet1(需要显示多选框的页) ,然后右键查看代码,进入编辑界面 2.写入如下代码 Private Sub Worksheet_SelectionChange(ByVal Targ ...
- 【Yii系列】处理请求
缘起 这一章是Yii系列的第三章,前两章给大伙讲解了Yii2.0的安装与Yii2.0的基本框架及基础概念,传送门: [Yii2.0的安装与调试]:http://www.cnblogs.com/rive ...
- 深入React组件生命周期
上篇博文使用React开发的一些注意要点对React开发的一些重点进行了简单的罗列总结,虽然也提到了React生命周期,但只略微小结,在此单独写篇React生命周期的总结. 在组件的整个生命周期中,随 ...
- webots自学笔记(六)实用控制器函数补充
原创文章,来自"博客园,_阿龙clliu" http://www.cnblogs.com/clliu/,转载请注明原文章出处. 用Webots软件做机器人仿真时,可以编 ...
- Cassandra存储time series类型数据时的内部数据结构?
因为我一直想用Cassandra来存储我们的数字电表中的数据,按照之前的文章(getting-started-time-series-data-modeling)的介绍,Cassandra真的 ...
- 字符串的模式匹配(Java实现)
字符串的模式匹配 字串的定位操作通常称做模式匹配,是各种串处理系统中最重要的操作之一.本文主要介绍两种常用的实现算法: 1.暴力匹配 2.KMP算法 1.暴力匹配 时间复杂度为O(n*m):n为主串长 ...