当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP学习宝典-第七章

PHP
《PHP设计模式介绍》第十三章 适配器模式
《PHP设计模式介绍》第十四章 动态记录模式
《PHP设计模式介绍》第十五章 表数据网关模式
《PHP设计模式介绍》第十六章 数据映射模式
《PHP设计模式介绍》第十七章 MVC 模式
Zend Framework 入门——快速上手
Zend Framework 入门——多国语言支持
Zend Framework 入门——错误处理
Zend Framework 入门——页面布局
详细介绍php5编程中的异常处理
PHP5 OOP编程中的代理与异常
PHP程序的常见漏洞攻击分析
PHP.MVC的模板标签系统
PHP教程:PHP编码书写规范
PHP开发大型项目的方法:OOP思想
php使用curl模拟用户登陆
php对gb编码动态转utf-8编码的几种方法评测
php设计模式介绍之章代理模式
“在phpMyAdmin使用用户口令登陆”补充
PHP入门速成

PHP学习宝典-第七章


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 144 ::
收藏到网摘: n/a

控制结构

本章重点

◆ 建立和组合逻辑测试

◆ 使用if和switch进行分支处理

◆ 使用while和for

◆ 使用exit和die退出页面的执行

如果不能让程序可因不同的情况来决定不同的执行,就很不容易编写出有用的程序。简单地说,输出显示变数的程序码行为取决于某个变数的值,做为一个程序设计师,我们可以透过不同的动作让程序对事件做出不同的回应(可依照外在世界、时间、使用者的输入或资料库的内容等等来配合)。

这种程序回应需要一种「控制结构(control structure)」,这个结构可控制指示在不同的情况下应该配合不同的程序码来执行。在上一章中,我们使用了if这样的控制结构,但没有真正深入讲解它,在这一章中,我们会介绍PHP提供的每种控制结构,并详细研究它们的运作与操作方式。

针对有经验的C语言程序设计师:在PHP的所有功能里,「控制」这部份是与C语言风格上最相似的,C语言中原来使用的所有结构都可以在这里使用,而且运作的方式也相同。如果你是有经验的C语言程序师可以跳过前面直接阅读本章末尾的小节。

我们将讨论的两大控制结构类型是分支(branch)和回圈(loop)。分支是程式执行通路上的一个分叉口,取决于某种测诗,程式可选择向左进行或向右进行,以后的路可能不相同,也可能重新汇合在一起。回圈是某种分支类型之一,它有一条执行路径转回到分支的开始处,可重覆进行测试度可能重覆循环执行。

在有效利用控制结构之前,必须能够有效地建构测试条件。我们先从最简单的测试开始,先了解常数TRUE和FALSE,然后在更复杂的程式码中使用这些测试。

Boolean运算式

本章中介绍的每种控制结构都含有两个截然不同的部份:一个是测试部份(决定往哪能个方向进行),一个是由测试的程式码(为单独的分支或是回圈)测试是透过Boolean运算求值进行的,以「真」或「非真」的判断为运算式的结果。

Boolean常数

最简单的运算式类型就是个简单值(simple value),最简单的Boolean值就是TRUE和FALSE常数,反之亦然。例如,我们可以在if-else叙述的测试部份嵌入它们:




if (TRUE)


print(“This will always print
”);


else


print(“This will never print
”);


上面的范例与下面的确叙述的是相同的:


if(FALSE)


print(“This will never print
”);


else


print(“This will always print
”);



逻辑运算子

逻辑运算子可以组合其它逻辑(又称Boolean)值来产生新的Boolean值。PHP支援标准的逻辑运算(and、or、not和xor)前两个还有可替代的版本,如表7-1所示。

7-1 逻辑性运算符号

 
对于C语言程式设计师来说,一定很熟悉「&&」和「||」运算子。「!」运算子通常称为「NOT」,原因很明显。

下面的运算式是逻辑运算子的范例:

(($statement_1 && $statement_2)||

($statement_1 && ! $statement_2)||

(! $statement_1 && $statement_2)||

(! $statement_1 && ! $statement_2)||

这是一种「同义反复」,是指无论叙述的变数值是什么,结果都为真。两个变数的真正值有四种可能的组合,其中每个都由一个「&&」运算子表示。这四种中必然有一种为真,因为它们是用「||」运算子连结在一起的。整个运算式必然为真。
下面例子所使用的xor是更巧妙的「同义反复」示范:

(($statement_1 and $statement_2 and

$statement_3) xor

((! ( $statement_1 and $statement_2)) or

(! ( $statement_1 and $statement_3)) or

(! ( $statement_2 and $statement_3))))

这个运算式的含义是:「给定三个叙述语句,只能以生下面的这两种情况之一:若非氖的三个叙述都有为真,就会是有一对叙述不为真。」

逻辑运算子的优先顺序

与其它任何一种运算子相比,有些逻辑运算子的