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

PHP
利用discuz实现PHP大文件上传应用实例代码
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
php在字符串中查找另一个字符串
php下HTTP Response中的Chunked编码实现方法
PHP实现定时生成HTML网站首页实例代码
PHP下一个非常全面获取图象信息的函数
PHP strtr() 函数使用说明
php 删除无限级目录与文件代码共享
php AJAX实例根据邮编自动完成地址信息
php miniBB中文乱码问题解决方法
cmd下运行php脚本
PHP 遍历XP文件夹下所有文件
php 移除数组重复元素的一点说明
discuz论坛 用户登录 后台程序代码
Optimizer与Debugger兼容性问题的解决方法
Zend Studio 无法启动的问题解决方法
php 页面执行时间计算代码
php smarty的预保留变量总结
php获取网页内容方法总结
php读取msn上的用户信息类

PHP学习宝典-第七章


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 194 ::
收藏到网摘: 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))))

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

逻辑运算子的优先顺序

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