Ch04: 流程控制语句
4.1 条件控制语句
(1)
if (expr) 

statement1;
statement2;

(2)
if (expr) 

statement1; 

else 

statement2; 

(3)
if (expr1) 

statement1; 
}else if (expr2)

statement2; 
}...
...
}else 

statementN; 
}
(4)
switch (var) 

case value1: 
statement1; 
break; 
case value2: 
statement2; 
break; 
... 
default: 
statementN; 
}

注意:
如果执行语句不只一条,请在执行语句前后加上"{}"号,因为控制语句的范围只能控制跟随其后的第一条语句
在switch语句中,遇到合乎要求的case语句段时,程序也会继续往下一个case执行。直到switch语句结束。
这并不是我们所想要的,所以一定要在每个case语句段后加上break语句,以便执行完当前case语句后可以跳出来。
PHP还提供了另一种书写格式:用":"号代替左边的大括号"{"; 使用endif; endwhile; endfor; endforeach;和endswitch; 来代替右边的大括号"}"
4.2 循环控制语句
(1)
while (expr) 

statements; 

(2) 
do 

statements; 
}while (expr) 
(3)
for (expr1; expr2; expr3) 

statements; 

(4)
foreach (array_expr as $value) 

statements; 

或:
foreach (array_expr as $key => $value) 

statements; 

注意: 
(1)foreach是PHP4引进来的,只能用于数组。在PHP5中,又增加了对对象的支持。
foreach语句将遍历数组array_expr, 每次循环时,将当前数组中的值赋给$value(或是$key和$value),同时数组指针向后移动直到遍历结束。 所以当使用foreach语句时,数组指针将自动被重置,不需要手动设置指针位置。
(2)当使用foreach语句用于其他数据类型或者未初始化的变量时会产生错误。 为了避免这个问题,最好使用is_array()函数先来判断变量是否为数组类型,如果是,再进行接下来的操作。
(3)跳出循环关键字:break 和 continue 
break跳出本层循环;continue跳出本次循环而进入到下一次循环。
在PHP中,break 还可以跳出多重循环,用法:break $num

【PHP入门到精通】:Ch04:流程控制语句的更多相关文章

  1. js入门第二篇之流程控制语句

    表达式语句: 一个表达式可以产生一个值,有可能是运算.函数调用 字面量 表达式可以放在任何需要值的地方. 语句: 语句可以理解成一个行为,循环语句和判断语句就是典型的语句,一个程序有多个语句组成. 流 ...

  2. ARKit从入门到精通(2)-ARKit工作原理及流程介绍

    转载:http://blog.csdn.net/u013263917/article/details/73038519 1.1-写在前面的话 1.2-ARKit与SceneKit的关系 1.3-ARK ...

  3. 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...

  4. Python 入门之流程控制语句

    Python 入门之流程控制语句 1.if判断 (1) 单 if if –-如果 if 条件: 缩进 结果 (官方推荐4个空格,或者一个tab 不能空格和tab混合使用) money = 10 pri ...

  5. ASP入门(四)-VBScript的流程控制语句

    VBScript条件语句 我们可以使用四种条件语句 If - Then - 语句 If - Then - Else 语句 If - Then - ElseIf 语句 Select - Case 语句 ...

  6. 【PHP】PHP从入门到精通(一)——想学习PHP的小伙伴的福利来了!

     PHP从精通到入门 (一)PHP简介和基本知识 PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸 ...

  7. 【PHP】最详细PHP从入门到精通(一)——想学习PHP的朋友们福利来了!

     PHP从入门到精通 (一)PHP简介和基本知识 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java ...

  8. MySQL数据库应用 从入门到精通 学习笔记

    以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库查看所有数据库: SHOW DATABASES创建数据库: CREATE DA ...

  9. 《C#从入门到精通(第3版)》目录

    C#从入门到精通(第3版)pdf+源码 一.基础知识 1.初识C#及其开发环境 2.开始C#之旅 3.变量与常量 4.表达式与运算符 5.字符与字符串 6.流程控制语句 7.数组与集合 8.属性和方法 ...

随机推荐

  1. 李洪强iOS开发之UICollectionView的使用

    想做如下的界面效果(纯代码) ------------------------------------------------------------------------------------ ...

  2. 如何精通java技术

    如何精通java技术 | 浏览:173 | 更新:2013-05-15 14:42 | 标签:java 对于一个程序员来说,精通JAVA可以说是他们的最高境界了.那么对于JAVA程序员来说,怎么才能精 ...

  3. Eclipse中WEB项目自动部署到Tomcat

    原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误 ...

  4. libevent功能使用简介

    http://blog.csdn.net/happyanger6/article/details/7272324 1. 介绍 libevent是一个用来开发可扩展的网络服务器的事件通知函数库.当一个文 ...

  5. Arraylist和Vector的区别与HashMap和Hashtable的区别

    1.ArrayList和HashMap都是线程异步的,所以它们的特点是效率高,但是安全性低: 2.Vector和Hashtable都是线程同步的,所以它们的特点是效率低,但是安全性高.

  6. Zabbix简介(第一章第一节)

    Alexei Vladishev创建了Zabbix项目,当前处于活跃开发状态,Zabbix SIA提供支持. Zabbix是一个企业级的.开源的.分布式的监控套件 Zabbix可以监控网络和服务的监控 ...

  7. MAVEN ERROR: unable to find valid certification path to requested target 解决办法

    第一次使用MAVEN编译项目,出现如下错误 解决办法:Maven的setting.xml中添加如下代码 <mirrors> <mirror> <id>Central ...

  8. JMS基本概念

    原文:http://blog.csdn.net/jiuqiyuliang/article/details/46701559 The Java Message Service (JMS) API is ...

  9. Objective-C:三种文件导入的方式以及atomic和nonatomic的区别

    一.三种文件导入的方式比较:   类的前项声明@class.import.include: 1.采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义 ...

  10. 很赞的MathJax

    一直想在网页上放进LaTeX布局,但由于是要发布在SAE上,因此有很多的限制. 然后在这儿发现了这个好东东,MathJax,非常方便,JS直接可以外链. 通过它,我编辑了这个页面,看起来很不错哦.