PHP语言精粹(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-10 09:35:33

点击下载

作者:刘涛,丁静

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

PHP语言精粹

PHP语言精粹试读:

前言

Preface

本书约定

下面是本书中使用的体例约定:

斜体(Italic)

表示新术语、URL、E-mail地址、文件名及文件扩展名。

等宽字体(Constant width)

程序清单,以及段落中引用的程序元素,如变量或函数的名称、数据库、数据类型、环境变量、语句和关键字。

等宽加粗字体(Constant width bold)

显示命令或其他应该由用户输入的文本。

等宽斜体(Constant width italic)

显示应该替换为用户提供的值或由上下文决定的值的文本。这个图标表示提示、建议、或一般说明。这个图标表示警告或注意。

使用代码示例

本书可以帮助你完成工作。通常在程序和文档中使用本书的代码不必联系我们获得许可,除非你要复制代码的重要部分。例如,使用本书几大块代码编写程序不需要许可,而销售或分销O'Reilly随书附带光盘上的例子则需要许可;引用本书及其示例代码以回答问题不需要许可,而将本书大量的示例代码附加到你的产品文档中则需要许可。

我们感谢但不要求注明出处。出处的格式一般包括标题、作者、出版商和ISBN。例如:“PHP:由彼得B.麦金太尔完成。© 2010彼得B.麦金太尔,978-0-596-80437-4”。

如果你觉得示例代码的使用不合理或不符合以上的许可权限,请随时联系我们:

permissions@oreilly.com

如何联系我们

本书中的每个例子都已经在不同的平台上测试通过,生产过程中的每个步骤信息也都已经过证实。但是,错误和疏漏在所难免。如果你发现任何细节问题,或对以后版本的改进有什么建议,欢迎与我们联系,我们将十分感激。你可以通过以下方式联系作者和编辑:

美国:

O'Reilly Media,Inc.

1005 Gravenstein Highway North

Sebastopol,CA 95472

中国:

北京市西城区西直门南大街2号成铭大厦C座807室(100035)

奥莱利技术咨询(北京)有限公司

以下网站列出了本书的勘误表、示例和任何附加信息,网址为:http://oreilly.com/catalog/9780596804374

如果想询问技术问题,或者发表有关本书的评论,请发送邮件(并引用本书的ISBN号码9780596804374)到:

bookquestions@oreilly.com

如果想了解我们的书籍、会议、资源中心以及O'Reilly Network的更多信息,请访问网站:

http://www.oreilly.com.cn

http://www.oreilly.com®

SafariBooks OnlineSafari Books Online是一个按需出版数字图书馆,让你轻松搜索超过7500种技术及有创意的参考书籍和视频,快速找到需要的答案。

通过订阅,你可以从我们的在线图书馆浏览任何网页,观看任何视频;可以在手机和移动设备上阅读书籍;在产品可印刷之前获取新标题,独家访问创作中的手稿并给作者提交反馈;复制并粘贴代码样本,组织你的收藏夹,下载章节,将重点部分加入书签,创建笔记,打印页面,并从许多其他省时的功能中受益。

O'Reilly Media已经将本书英文版上传至Safari Books Online服务。想要得到本书(英文版)的电子版,以及O'Reilly和其他出版商类似主题的电子书的完全访问权,请在这里免费注册:

http://my.safaribooksonline.com

致谢

首先,我想感谢所有那些在O'Reilly工作的、致力于本书却默默无闻的人们。我甚至不知道你是谁,但感谢你的所有工作,以帮助完成这个项目(并做得很出色),最终使它上架。编辑、图形、布局、规划、市场营销和所有工作,我很感激你们的努力。

朱莉·斯蒂尔是我在O'Reilly的编辑,在这个项目上总是显示出极大的耐心和敬业精神,感谢你给我这个机会,和从始至终的陪伴。我想现在你是我IT出版界的好朋友之一。我希望有一天,可以亲自见到你!

非常感谢我的技术编辑。Charles Tassell、Brian Danchilla和Peter Lavin,感谢你们敏锐的目光和彻底测试我很多的示例代码。你们伟大的思想使这本书变得更好。WezFurlong和Derick Rethans也贡献了一些技术帮助,感谢你们的协助。

最后,Susie Sedlacek是Zend公司全球服务前副总裁,感谢你愿意在一起介绍这本书。我十分高兴能有你的介绍,使读者能从全球的角度了解PHP在世界范围内的广泛使用和影响。我很高兴听到你和你丈夫已经购买了在加州的葡萄园,我希望你真正享受这一新的尝试!第1章精粹The Good Parts酝酿这本书有相当长一段时间了。这么多年来,我一直在用PHP,因为喜欢它易于上手、灵活和功能强大而投入越来越多的感情。在我20多年的职业生涯里,PHP是我用过的所有语言中最喜欢和最拿手的。在此期间,PHP也从一个小型函数集变成一个体积庞大、模块众多和扩展丰富的工具。有些程序员可能一开始会淹没在它浩如烟海的函数之中,但我希望通过这本书能帮助你真正了解PHP的行之有效。这本书并不厚,你将看到PHP开发中最精华的部分。当看到本书最后一页时,你会更进一步理解在Web开发领域里PHP是多么强大。为什么是PHPWhy PHP?

市场上有那么多编程的书——包括大量关于PHP的书——你甚至都不知道也许正有本书即将完成。PHP是被广泛使用的语言,并且[1]近几年在企业应用方面也有较大的增长。Web应用如Facebook、[2]Flickr、雅虎的部分网站、维基百科的核心实现,以及网站内容管理系统如Drupal、Joomla和WordPress也都是采用PHP构建的。IBM还展示了很多自身技术与PHP相结合的有趣实例。基于这些原因,帮助技术业界的初中级程序员熟悉这个语言中最精华的部分是件有意义的事情。PHP历史摘要A Brief History of PHP

我们简单地回顾一下PHP的发展历史。PHP(Personal Home Page)由 Rasmus Lerdorf在1995年发布,最早的名字叫个人主页工具(PHP Tools)。从推出到现在,一直是作为开源软件出现。数据库操作集成于1996的2.0版,之后其发展和变化可谓日新月异、翻天覆地。它成为当今世界上使用率最高的网站开发语言。在本书撰写之际,最新版本是2009年6月30日发布的5.3版。PHP的地位PHP's Place in the World

PHP是一种使用最广泛的编程语言。想想看,在这么短的时间内有如此显著的成长,仅仅15年左右,它已经成为网站开发世界中的一个主要参与者。在最近几年,许多PHP社区的人都在争论它能否适用于企业开发:可信任否?可否用于大项目?够强壮否?鉴于近期也有如IBM和微软这样的公司在关注PHP,而且事实上,它可以构建大型网站(如Facebook和雅虎等),有人认为它也可用于企业开发。这些争论会随着时间的逝去而最终尘埃落定。对于最近发布的5.3版本,你可以十拿九稳地说,行或不行,将很快见分晓。PHP是什么What Is PHP?

那么,什么是PHP呢?它是一种脚本语言,主要用于服务器端开发,可以被用来动态生成超文本标记语言(HTML)内容。PHP和[3]Web服务器集成在一起,较常见的是Apache或IIS,一旦PHP完成HTML的生成,将交由Web服务负责向发起请求的客户端返回结果页面。

我说“主要用于”服务器端,是指你也可以将其用于其他领域,包括命令行、桌面开发和客户端服务环境,我只是举几个例子。但它最常用于Web服务器环境。

PHP开发人员通常会将PHP和许多不同的数据库操作工具集成在一起,例如 MySQL、SQLite、PostgreSQL、DB2、MS SQL、Oracle等。它们使动态内容成为可能。实际上,最终结果页面还是一个静态HTML文件,但它是在程序运行中产生的,因此是动态的。其实,你完全可以认为,由于内容是从数据库或其他来源读取并产生的,PHP实际上是可以产生动态内容的。PHP有哪些成就What Has Been Accomplished with PHP?

说了这么多PHP的优势,如果没有论据来证明,那显然没说服力。所以,让我们展现几个用PHP搭建和实现的实例吧!世界排名较靠前的网站中有一些是部分基于PHP构建的。表1-1是使用PHP的流行网站简表,包括网站地址和简要介绍。表1-1 使用PHP的流行网站

众所周知,这张表只是冰山一角,它肯定无法完整列出用PHP建造的网站,只是举出了几个代表而已。如果你还知道更多这样的网站,那你应该更加清楚PHP这门功能强大的语言究竟都能实现什么!PHP基本设置Basic PHP Setup

这会儿,你或许跃跃欲试想要亲自体验PHP了。因此我们通过一个快速安装来实现一个随时运行都会显示 “世界你好”的简单程序。

运行PHP代码的基本环境是使用最常用的Web服务软件,比如Apache和IIS。有一种包含功能齐全的开发环境的软件包:LAMP和WAMP。LAMP表示Linux/Apache/MySQL/PHP,但这不是一成不变的,你也可以用PostgreSQL,而不一定非要是MySQL数据库,甚至可以叫它LAPP。另一副首字母组合——WAMP——是指 Windows/Apache/MySQL/PHP。通常来讲,你编写的是和操作系统无关的代码。在Windows下编写的程序复制到Linux一样可以运行良好,反之亦然。但需要注意的是,对于操作系统级别的函数,如CHMOD(更改文件权限)或CHOWN(更改文件所有人),类似这样的代码在Linux和其他操作系统中可能会出现不同的结果,你一定要在不同环境中充分测试所有的代码实例。

既然有这么多的不同平台和组件可以建立PHP开发环境,我们不用再详细讨论这个问题了。总之你要知道,到http://www.php.net/downloads.php这个地址下载所有平台的PHP稳定版本。也有专为Windows定制的集多种软件于一身的安装包。一个是XAMPP(X表示多种平台,A是Apache,M指MySQL,第一个P表示PHP,后一个P表示Perl),你可以在 http://www.apachefriends.org/en/xampp-windows.html 下载到。当下载合适平台的软件包之后,可以在里面找到一个叫INSTALL.txt的文件,其中包含了下载及安装过程指南。

一旦你完成了PHP的安装,你就可以通过编译一小段脚本来显示出你的 php.ini 配置文件所指定的配置信息,这样的代码只需一行,如下所示:

启动和停止位于<?PHP 和 ?>之间的PHP代码内容的更多方法将在本书稍后几章中分别讲述。现在,将这行代码的文件取名为phpinfo.php并保存在你的We b站点根目录(一般叫www或htdocs)。当你在浏览器地址栏中输入http://localhost/phpinfo.php时,输出的页面应如图 1-1所示。图1-1 phpinfo()函数的输入结果

请花一点儿时间来熟悉这些配置信息,如果你不确定其中的大部分信息,也别担心。只要页面显示的内容大致如图1-1所示那样就足以表明PHP已经安装正确并通过你本地的Web服务器开始运行了。localhost 是你本地电脑上用于PHP运行的Web服务器主机名。如果你有程序运行在一个远程服务器,则需要一个适当的域名或特定的IP地址来访问它。

现在我们就来写一句问候语。在网站根目录——一般在Linux下是/var/www,在Windows下是../apache2/htdocs——新建一个文本文件叫HelloOutThere.php,用编辑器打开并输入下面这行代码:

在浏览器地址栏中输入 http://localhost/HelloOutThere.php,显示的页面如图 1-2 所示。图1-2 实例输出结果

我们通过echo命令发送了一个字符串,要求服务器在浏览器的显示区域显示一些内容。在本书稍后几章中你将看到,我们可以在Web环境中处理很多东西。你刚刚创建了第一个PHP网页,真的就是这么简单。[1]社交网站,部分地区访问可能有障碍。——译者注[2]图片分享网站。——译者注[3]这是两种较流行的Web服务器软件。——译者注第2章“实地勘察”Casing the Joint现在,你已经知道了PHP文件的基本概念,以及如何通过Web服务器运行它并且将运行结果显示在浏览器中。接下来让我们继续研究如何用这门语言像搭积木那样来构建更大、更复杂的网站和网络应用程序。我称这个过程为“实地勘察”,因为为了理解如何从根本上更好地处理PHP代码文件,我们将会粗略地看一下PHP的环境。如果你之前有过其他语言的编程经历,应该会对本章的学习感到得心应手,你所要做的就是充分理解并知道如何以及在何时使用这些结构元素。一开始,我们只是展示一小段一小段的PHP代码(比如变量和各种数据),稍后,我们将讨论如何操作控制语句相关的代码,也叫流程控制。最后,我们将研究可以说明完整的PHP应用程序环境的一些概念:内存数据存储(服务器与客户端)以及如何从内存中检索数据。空白、注释和基本语法Whitespace,Comments,and Basic Syntax

对于PHP而言,解释器会忽略代码中所有的空白字符,所有的注释和空行在运行时都会被剔除。如果你想用去除空白的办法来少许优化PHP代码或者想得到简洁的代码文件,其实不用花太多时间在整理代码格式上,PHP中有个函数叫 php_strip_witespase,专门用来干这个。给这个函数传递一个文件名,它会返回去除所有注释和空行的干净代码,然后你就可以保存一个整洁的PHP代码文件。

看看下面这段代码,其中包含一些空白的部分:

第1行允许有空白,如果你在PHP开始标记(即<?php)的后面添加空格(按空格键),将被视为空白。

第2行是个注释行,所以整行内容都将被视为空白。注释行表示代码注解,因而不会被解释器执行。第4行至第7行也是注释,但稍有不同,叫做多行注释,你能看到它以/*开始并以*/结束。PHP解释器遇到这四行时会把它当成不需要执行的部分,即将其当成空白而完全跳过。

第9行会被执行,此行后面以//开头的部分是一个内联注释。PHP解释器会对以//开头的部分视而不见。事实上,你完全可以把这样的注释加在语句末尾和分号之间,只不过这会让代码变得很难读懂(分号表示此行命令结束,如果漏加会报一个语法错误——即便你是一个经验老道的高手偶尔也会犯这样的错误)。

第3行、第8行和第10~12行的空行既不是注释也不是可运行代码。如果你清除所有的空白内容,那么上述代码就变成下面这个样子:

1

正如你所看到的,在不同的命令或函数之间还有一个或多个的空格,和恰当的注释能帮助理解代码的道理一样,这也是为了使程序更易于阅读,毕竟你写出的代码要让自己或别人读得懂,所以,一定要养成在代码中适当留白的习惯。下面任意一种方法都可以在代码中添加注释:

#

用它来表示行内注释,此行内不允许再有任何可运行指令。

//

用它也表示行内注释,它可以自起一行,也可以附加在可执行代码的末尾。

/*...*/

表示多行注释块,块里的任何指令都不会被运行。

那么,一个基本的PHP语法包括一个PHP开始指示标签[即]。指示标签中间这部分内容会被Web服务器交给PHP解释器处理。那种短一些的开始标签 <? 在PHP 5以后的版本中默认不允许使用,除非在php.ini的配置中将short_open_tag 的值改为 On。这个约定是为了让人们尽可能使用更好且更完整的开始标签

在这样一对标签里面,就可以开始PHP编程工作了。你可以使用四种不同的语言结构来编程:像前面echo那样的指令语句、函数调用(PHP库里的或你自己编写的函数)、流程控制语句(如if...else...)和注释。几乎所有的PHP程序都是由这四种简单结构组成的,当然了,一个完整的Web应用程序会大量使用这些语句,另外,PHP还可以定义面向对象的类(详见本书第6章)。

为了构建更加健全的应用程序,往往还需要其他的元素,例如变量,下面我们就来看看变量及其使用规则。变量:数据类型、弱类型和作用域Variables: Data Types,Loose Typing,and Scope

变量可以用来表示不同类型的数据,但它们建立的方式是一样的。下面就来说说PHP变量的定义规则:

$

变量名一律以美元符号开头 ($)。

大小写敏感

变量名对大小写敏感,所以 $firstname 和 $FirstName表示两个完全不同的变量。

字母或下画线

在美元符号$之后的第一个字符必须是字母或者下画线(_);其余的字符可以是字母、数字和下画线。

$this

除了在面向对象的PHP中,别处不会遇到使用$this的情况。

数据类型顾名思义就是指某种类型的数据。不同类型的数据在结构、可交互性及操作方式上都有不同的限制和约定。PHP里有8种基本的(或叫原始的)变量类型。当然也可以自定义类型,但在这本书里只涉及8种。这些原始类型按数据分段存储方式又可分为三大类:标量类型、复合类型和特殊类型。表2-1列举了变量类型和分段方式及部分示例。表2-1 PHP数据类型

有两种方式给变量赋值:传值和传引用。一般是通过直接传值来定义变量,例如:$firstname="Peter",我们就给这个叫$firstname的变量分配了一个包含5个字符的字符串,这个变量将一直保留其内容,直到重新分配或脚本运行完毕。没有什么因素能影响这个变量的内容,除非程序直接和它发生交互。

而传引用就好比是用不同的变量名来表示同样的变量内容,通过这种方式可以让函数在其内部影响外部定义的变量。只有事先以传值方式定义过的变量才能以引用的方式传递和访问。当然,只要引用一次即始终是引用方式。如果被引用传递的变量内容有变化,则所有本地副本所指向的引用会自动变更为新内容。实现一个引用传递很简单,只要在目标变量名前面加个&符号即可。下面的代码即可演示这个效果:

和其他编程语言不同的是,PHP是个弱类型和动态类型语言。也就是说,PHP可以很聪明地识别出分配变量时其存储的数据类型,像日期、字符串和数字等。因此在前面进行赋值的例子中:$firstname="Peter",PHP可以判别$firstname为字符串类型。然而预先定义各个变量的类型确实也是一种很好的实践,这种方法可以减少混淆。

变量的作用域涉及变量在一段代码中被另一段代码发现并操作的问题。在默认情况下,一个变量是在整个PHP代码中(整个PHP文件范围)可见的,但也有例外。如果一段代码被某个函数引用或包含之后,则这段代码就不能访问此函数外部的任何部分变量。下面我们通过具体实例说明一下:

你也看到了,同样都叫 $firstname,但因为是在不同的作用域里,所以 show_stuff 函数不能访问到外部的变量,而它定义的 $secondName 也同样不能被外部访问。有关函数及如何改变这些行为的更多详情,请参阅第3章。现在,你只要记住:由于作用域的原因,有些代码可以自然地访问某些变量,而换个地方就不能访问。定义常量Defined Constants

定义的常量就像是PHP变量的近亲。常量可以定义在代码文件的任意位置,但大多数人都是在代码文件和函数的开头去定义它。一旦定义之后会保持到代码运行结束,而且是全局有效,也就是说无论在函数或类里,甚至在任意包含的文件及函数里,常量都是可以全局访问的。定义一个常量的方法很简单,有点像分配变量,但又不完全一样。最大的差别是常量定义需要使用一个PHP内置的函数 define()。定义常量时,需要遵循以下规则:

define()

要用这个PHP内置函数来定义常量。

字母或下画线

常量名称必须以字母或下画线开头,首字符以后的部分也只能由字母、数字或下画线组成。

大小写敏感

按照默认的约定,常量名应全部大写,当然你也可以不遵守这个约定,用define()函数中的第三个参数来定义大小写不敏感的常量。

限制

只有标量数据(参考 “变量:数据类型、弱类型和作用域”部分)才能定义在常量里。所以,定义一个常量的语法如下所示:

define("常量名称",常量值,[是否大小写不敏感])

此函数中最后一个参数大小写不敏感是可选项,默认为假,即定义的常量名称大小写敏感(这是个众所周知的标准规范)。获取一个已定义常量的值,只要引用常量名称即可。下面的代码将向您演示定义两个常量以及试图重复定义常量的问题:

上述代码输出(包含一个错误警告)如图 2-1 所示。图2-1 定义常量示例代码的输出如果PHP配置中错误报告被关闭,你可能看不到图2-1中的警告信息,可能会有意外的或不想要的结果,所以,你在将代码上传到产品环境以前,要确保代码经过测试。

毫无疑问,定义常量在PHP编程实践中占有一席之地;常量的价值是显而易见的,尤其是当你需要实现一个在代码进程中不被改变的值的时候,如一个存储PDF文件的路径、计算需要的税率等。当你确实有这样的应用场景时,你会考虑用常量。但是一定要确保经过测试再上传到生产环境,只有这样你才能实现预期的效果。表达式Expressions

PHP中的表达式(不是正则表达式,那个是特例)是代码语句的统称。

$name="Peter";

这行代码是个赋值表达式,它描述的意思是:分配一个字符串“Peter”给一个名叫$name的变量。从技术上讲,这行代码是一个由两部分表达式组成的声明(以分号为结束符):左边的部分是一个存储的定义,右边的部分是要将什么值分配给那个存储定义。这两部分组成了一个赋值表达式,所以是个完整的声明。作为一般规则,任何一个赋值语句的表达式,都是作为指令语句处理。

另外一些表达式包括函数和条件三元运算符(相关说明请见下一节条件判断代码),函数的返回值也包括在内。例如下面的代码就演示了这两种表达式:

函数MyName被当做一个表达式,因为它返回了一个值。你可能会觉得在赋值语句后面的那行代码有些奇怪,在以$name作为条件的前提下给$last赋值。我们将在本书中看到更多这样的表达式,现在你只要知道有这种语句存在并且在PHP中非常普遍就行了。判断、选择(流程控制)Decisions,Decisions (Flow Control)

如果没有选择项就没有其他的可能性,人生将是多么枯燥无趣啊!下面我们来看看如何用流程控制语句来进行条件判断,也就是用它来根据预先规定的条件做出选择。If...Else...If...Else...

基本if语句的测试目标可以建立在一个变量或执行其他简单(有时也会复杂)语句的运行结果的基础上。举一个使用了if语句的例子:

$today=date("l");

if ($today=="Wednesday")$tax_rate=$tax_rate+4 ;这里的比较判断使用的是双等号(看看是不是星期三)。我们已经知道赋值语句用的是一个等号,而判断是否相等要用双等号。

如果你需要进行数据类型级别的相等判断,可以使用===,它会对比两边所有元素的内容及其类型,考虑下面的代码:

if (1=='1')echo "true 1 等于 '1'
";

if (1==='1')echo "true 1 等于 '1'";

else echo "false 1 不等于 '1' " ;

它会产生下面的输出,显然,当用双等号比较字符串和数字时,字符串会先被转换成数字类型再进行比较,因此结果为真(true)。当用===(三个等号)进行比较时,字符串不会被转换,它和数字类型不一致。上述代码的输出结果如下所示:

true 1 等于’1’

false 1 不等于’1’

在if语句中可以使用有效格式的数字。在前面例子的比较判断中,如果为真,则税率(变量$tax_rate)加上4,也就是说除了星期三以外的日子,税率保持不变。如果这个比较判断的结果为真你还要加入其他的语句,可以使用一对花括号。下面的代码是对前面例子的扩展,其中对日期判断进行了简化,去掉了变量赋值语句。

该例实现的是如果判断条件为真则执行三条语句。请注意,这三条语句都包含在if后面的大括号里面,表明它们是这个判断结果中同等重要的部分。

你也可以添加当if语句中的条件不被满足时需要执行的代码,这个代码叫else子句,如下所示:

如果if语句中的条件判断结果为假,则执行else后面花括号里的语句——具体这个例子来说,就是除周三以外的日期会执行这些代码。

你甚至可以在if语句中再嵌套别的条件判断语句。例如,如果今天是6月份的某个周三,进行判断的代码可以这样写:嵌套会使代码显得笨重,为了防止出现晦涩难懂甚至无法运行的代码,你要慎用多层嵌套并控制嵌套层数。

下一步,可以用elseif子句来实现多层条件判断。举例来说,如果你需要进一步对一周的日期进行判断,以实现每天执行不同的程序任务,则会写出如下所示的代码:

如果你在周四运行这段代码,会输出以下结果:

Thursday's discount is: 0.32

另外,注意在示例代码中使用了“或”(||)条件来判断周六和周日。

另一种实现条件判断的写法是使用三元运算符。这种格式虽然不使用明确的if/else语句,不过一旦你掌握了它,就可以写出很简洁的代码。暂时忘掉if语句,我们用这种方法来实现一个简单的税率判断操作,考虑下面的代码:

$tax_rate+=date('l')=='Wednesday' ? 4 : 2;

这行代码完整的意思是这样:如果当天是周三(?),则给税率变量加上4;如果不是(else,:),则只加2。你可能想了解例子中的+=是怎么回事。PHP允许在对数字变量做[2]简单数学运算的同时做赋值操作,像++、--、+=等都属于这一类特性。要知道如何更好地利用这个特性,可具体查看php.net中的内容。

像这样的三元运算符通常仅限于处理多个条件判断中最终的一个结果(真或假),虽然也允许使用多层嵌套,但可能不会达到预期的目的,所以,最好保持这种简单直接的使用方式。

还有另外一些if语句的写法,它们也会运转得很好,但我们不用再探究更多的细枝末节。如果你有兴趣了解那些格式,请移步php.net。Switch...Case...Switch...Case...

针对单个值进行数个条件的判断,使用if语句来实现仍存在一定局限。在前面关于一周日期判断的例子中,只要我们愿意就可以让代码在7天里做7件不同的事。就这点来说,如果那天正好是周三,则只要在代码里定义一个特定的条件即可。诚然,如果我们针对一周的每天都处理不同的税率,则可以写出类似这样的代码:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载