首页 03 PHP中的常量与变量

03 PHP中的常量与变量

举报
开通vip

03 PHP中的常量与变量 � PHP 中的常量 � PHP 中的变量 � PHP 中预定义变量的使用 � PHP 中数组型变量的使用 PHP 中的常量与变量 第 章 常量与变量是构成程序的基石,所以每种编程语言中都会有本类语言所对应的常量 与变量。作为一门网络编程语言,PHP 也不例外。本章将详细介绍有关 PHP 中的常量 与变量的知识。通过本章的...

03  PHP中的常量与变量
� PHP 中的常量 � PHP 中的变量 � PHP 中预定义变量的使用 � PHP 中数组型变量的使用 PHP 中的常量与变量 第 章 常量与变量是构成程序的基石,所以每种编程语言中都会有本类语言所对应的常量 与变量。作为一门网络编程语言,PHP 也不例外。本章将详细介绍有关 PHP 中的常量 与变量的知识。通过本章的学习,读者将会学习到什么是常量、什么是变量;在 PHP 中如何使用预定义常量与变量;如何自定义常量与变量等。 PHP 网络编程从入门到精通 ·24· 3.1 PHP中常量的定义与使用 常量是在程序运行中值始终不会发生改变的一类量。在进行 PHP 编程时经常要用到这类数据,如 打开文件的文件名、文件的路径等这些系统常量以及用户自定义一些的常量。本小节将介绍 PHP 中的 常量。 3.1.1 定义使用常量 常量在使用前必须定义,否则程序在执行时就会出错。在 PHP 中使用 define()函数来定义常量。其 语法格式如下: define("Name","value"); 其中的 Name 为定义常量的常量名,value 为常量代表的值。 下面就通过一个实例来介绍一下 PHP 中的常量的定义与使用。 PHP 中常量的定义与使用 保存以上代码为 PHP 文件“3-1.php”。然后在 PHP 运行环境下运行以上代码,运行效果如图 3.1 所示。 常量的命名不是随意的,必须符合一定的规则。PHP 中 常量的命名有以下规则:合法的常量名以字母或下划线开始, 后面跟着任何字母,数字或下划线。 常量与变量的不同之处体现在以下几个方面: ‰ 常量前面没有美元符号$,而变量则必须以美元符号开头。 ‰ 常量只能用 define()函数定义,而不能通过赋值语句定义。 ‰ 常量可以不用理会变量范围的规则,可以在任何地方定义和访问。 ‰ 常量一旦定义就不能被重新定义或者取消定义,并且其值不能发生改变,而变量的值可以随 时发生改变。这也是常量与变量最根本的不同。 ‰ 常量的值只能是标量,即整型、浮点型、字符串 3 种类型。 图 3.1 定义使用常量输出结果 第 3 章 PHP 中的常量与变量 ·25· 3.1.2 PHP 中的预定义常量 除了使用自定义常量之外,PHP 还为用户预定义了系统常量,常见的系统常量及其含义如表 3.1 所示。 表 3.1 PHP 中的预定义常量 常 量 名 说 明 __FILE__ PHP 文件的文件名 __LINE__ PHP 文件的行数 PHP_VERSION PHP 程序的版本,如 4.0.2 PHP_OS 执行 PHP 解释器的操作系统名称,如 Windows TRUE 真 FALSE 假 E_ERROR 最近的错误处 E_WARNING 最近的警告处 E_PARSE 剖析语法有潜在问题处 E_NOTICE 发生不寻常但不一定是错误处 以上这些以“E_”开头形式的常数,可以参考 Error_Reporting()函数。下面通过一个实例来实际应 用一下 PHP 中的预定义常量。 PHP 中预定义常量的使用 "; //输出 HTML 换行符 echo "文件的行数为:"; echo __LINE__; //输出文件行数 echo "
"; echo "PHP 的版本是:"; echo PHP_VERSION; //输出 PHP 版本 echo "
"; echo "所使用的操作系统为:"; echo PHP_OS; //输出操作系统类型 ?> 保存以上代码为“3-2.php”。在 PHP 运行环境下执行以上代码。执行结果如图 3.2 所示(当然, PHP 网络编程从入门到精通 ·26· 实际输出会因操作系统、PHP 版本的不同而有所出入,但大体上是一样的)。 注意:不论是使用自定义常量还是系统预定义常量,大小写都必须一致。如使用系统预定义常量时把 大写改为小写,就不能正确返回预定义常量 PHP_VERSION 所定义的 PHP 版本号,而是返回 “php_version”这个字符串。 "; //输出 HTML 换行符 echo php_version; //输出字符串 ?> 把以上这段代码保存为“3-3.php”,在 PHP 执行环境下运行,其执行结果如图 3.3 所示。 图 3.2 使用 PHP 的预定义常量 图 3.3 预定义常量中的大小写 从图 3.3 所示可以发现,大小写不同,所输出的不同结果。所以,使用系统预定义常量时,一定要 注意大小写问题。 3.2 PHP中的变量 变量指在程序运行过程中值可以随时发生改变的一类值。PHP 是一个弱类型的语言(弱类型语言 指在使用变量时不用指定变量的类型,在使用时也没有类型检查的一类编程语言),所以在使用变量 时,不用事先指定变量类型,在使用时根据上下文由系统解释器来判断变量的类型。另外 PHP 也不像 其他编程要先定义才能使用,变量不用事先定义即可使用。 3.2.1 PHP 的变量类型 PHP 的变量类型有以下几种:整型变量(Integer)、浮点型变量(Double)、字符型变量(String)、 数组型变量(Array)和对象型变量(Object)。 ‰ 整型变量在 32 位操作系统中它的有效范围是:-2 147 483 648~+2 147 483 647。要使用 16 进 制整数可以在前面加 0x。 ‰ 浮点型变量在 32 位操作系统中的有效范围为:1.7E-308~1.7E+308。 ‰ 字符型变量不同于其他编程语言有字符与字符串之分,在 PHP 中,统一使用字符型变量来定 义字符或者字符串。 ‰ 数组型变量是一种比较特殊的变量类型,将在 3.4 节中详细说明。 第 3 章 PHP 中的常量与变量 ·27· ‰ 对象变量也是一种比较特殊的变量。在 PHP 5 之前,PHP 面向对象编程的功能还不是很强大。 PHP 5 改变了这种状况。类概念的引入,使 PHP 真正成为一种面向对象的编程语言。 要定义一个变量方法很简单就是在该变量名前加上美元符号$。下面的例子就分别定义了两个整型 变量和两个字符型变量。 通过以上例子能够发现,在 PHP 中定义一个变量是一件很简单的事情。 3.2.2 转换变量类型 在实际使用 PHP 过程中,有时需要对变量的类型进行强制转换,如要把字符型变量改变为数值型 变量,把数值型变为字符型等。在 PHP 中可通过 Settype()函数来设置一个变量的类型。它的使用方式 如下所示: settype(mixed var,string type) 作用是将变量 Var 的类型设置成 Type。Type 的可能值(即能够转变的类型)为:Boolean(或为 bool,从 PHP 4.2.0 起)、Integer(或为 Int,从 PHP 4.2.0 起)、Float(只在 PHP 4.2.0 之后可以使用, 对于旧版本中使用的 Double 现已停用)、String、Array、Object、Null(从 PHP 4.2.0 起)。 如果类型转换成功则返回 True,失败则返回 False。 下面通过一个例子来说明 settype()函数是怎么实现变量类型设置的。 settype()函数使用例子 "; //输出 HTML 回车换行 echo $bar; //输出变量$bar echo "

"; settype($foo,"integer"); //重新设置$foo 的类型为整型 settype($bar,"string"); //重新设置$bar 的类型为字符型 echo $foo; //重新输出$foo echo "

"; echo $bar; //重新输出$bar ?> PHP 网络编程从入门到精通 ·28· 保存以上代码为“3-4.php”,在 PHP 执行环境中运行以上代码,其执行结果如图 3.4 所示。 图 3.4 settype()函数使用例子执行结果 在使用 Settype()函数前,$Foo 变量值为字符串、$Bar 变量值为逻辑真值。所以打印出它们的值就 为:“5bar”、“1”;在使用 Settype()函数后,$Foo 变量值改变为整型数、$Bar 变量值改变为字符串。 所以打印的结果就成了“5”、“1”。 3.2.3 变量的使用范围 和其他编程语言一样,PHP 中的变量也有全局变量与局部变量之分。所谓全局变量指在程序运行 期间都能使用的变量,而局部变量只在子函数或过程中有效。在 PHP 程序执行时,系统会在内存中保 留一块全局变量的区域。实际运用时,可以通过$GLOBALS["变量名称"]的数组调用方法将需要的全局 变量调出。不过需要注意的是 PHP 的变量有大小写之分。如果搞错了大小写是不能调出来的。 $GLOBALS 数组是 PHP 程序中比较特殊的变量,不必声明系统会自动匹配相关的变量在里面。在 函数中,也不必管$GLOBALS 数组是否已经被声明,就可以直接使用。 和$GLOBALS 变量类似的,还有$php_errormsg 字符串变量。若 PHP 的配置文件 php.ini 中的 track_errors 选项值为 True 的话,使用全局变量$php_errormsg 可以看到错误的讯息。 在 PHP 中,全局变量的有效范围只限于主程序中,不会影响到函数中同名的变量,也就是全局变 量与局部变量互不干扰。若要全局变量也能在子函数中使用,就要用到$GLOBALS数组或是使用globals 宣告。 例 如 , 在 自 行 开 发 的 函 数 中 , 要 取 得 目 前 执 行 PHP 文 件 的 文 件 名 , 就 可 以 用 $GLOBALS["PHP_SELF"]取出$PHP_SELF 的值。 3.3 PHP的预定义变量 PHP 在系统中内置了大量与系统、正在运行的 PHP 文件、HTTP 等相关的变量,如表 3.2 所示。 了解和使用这些内置变量对提高编程效率有很大帮助。本节将介绍一些常用的 PHP 预定义变量,更多 的变量请参考 Phpinfo()函数所列出的内容。 第 3 章 PHP 中的常量与变量 ·29· 表 3.2 PHP 中的预定义变量 名 称 作 用 $_SERVER[PHP_SELF] 当前正在执行的文件名。返回值与document root相关 $_SERVER[REQUEST_METHOD] 访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT” $_SERVER[DOCUMENT_ROOT] 当前运行脚本所在的文档根目录。在APACHE配置文件中定义 $_SERVER[HTTP_REFERER] 链接到当前页面的前一页面的URL地址。不是所有的用户代理(浏览器)都会 设置这个变量,而且有的还可以手工修改HTTP_REFERER。因此,这个变量不 总是正确真实的 $_SERVER[REMOTE_ADDR] 正在浏览当前页面用户的IP地址 $_COOKIE 通过HTTP cookies传递的变量组成的数组。是自动全局变量 $_GET 通过HTTP GET方法传递的变量组成的数组。是自动全局变量 $_POST 通过HTTP POST方法传递的变量组成的数组。是自动全局变量 $_FILES 通过HTTP POST方法传递的已上传文件项目组成的数组。是自动全局变量 $_REQUEST 此关联数组包含$_GET,$_POST和$_COOKIE中的全部内容 $_SESSION 包含当前脚本中已经注册的session变量的数组 $GLOBALS 由所有已定义全局变量组成的数组。变量名就是该数组的索引 3.4 PHP中的数组型变量 数组型变量是一组具有相同类型和名称的变量的集合。它是一种很独特的变量,PHP 中的数组可 以是一维也可以是多维的,数组内元素的类型也可以是数字、字符甚至是数组变量。 3.4.1 数组变量的初始化 在 PHP 中初始化数组一般有两种方法,一种是同时给数组中所有元素赋值,另一种是单独给数组 每个元素赋值。下面通过实例来具体了解这两种方法。 3-5.php:同时给数组所有元素赋值。 同时给数组所有元素赋值例子 "; //输出 HTML 换行符 } ?> 3-6.php:单独给数组每个元素赋值。 分别给数组每个元素赋值例子 "; //输出 HTML 换行符 } ?> 在 PHP 运行环境中分别运行以上两个例子,输出的结果都是一样的,如图 3.5 所示。 图 3.5 给数组赋值执行结果 3.4.2 获取数组中的元素 在给一个数组赋值之后就可以拿来使用了。使用的方法也很简单。只需使用数组加上括号加所需 要元素的序号就可以了。需要注意的是,数组下标是从“0”开始的,引用就把需要引用的序号减“1”。 如“$String[2]”,就实现了对数组“$String”第 3 个元素的引用。下面能过一个简短的例子来说明, 第 3 章 PHP 中的常量与变量 ·31· 怎样实现对数组的引用。 引用数组元素例子 "; echo "数组的第 5 个元素为:"; echo $string[4]; //获取数组第 5 个元素 echo "
"; echo "数组的第 1 个元素为:"; echo $string[0]; //获取数组第 1 个元素 ?> 保存以上代码为“3-7.php”。在 PHP 运行环境下运行以上代码,执行结果如图 3.6 所示。 图 3.6 引用数组元素例子输出结果 3.4.3 给数组动态增加元素 一个数组在定义后,它的元素个数并不是一成不变的,程序在运行中可以动态为数组增加元素。 要给一个数组动态增加元素,所要做的只是给数组新的元素赋值。下面仍然通过例子来说明这一问题。 动态给数组增加元素例子 "; echo "数组的第五个元素为:"; echo $string[4]; echo "
"; echo "数组的第一个元素为:"; echo $string[0]; echo "
"; $string[5]="string6"; //为数组动态增加元素 $string[6]="string7"; //为数组动态增加元素 echo "下面的是新增加的数组元素:
"; echo "数组的第六个元素为:"; echo $string[5]; //获取新增加的元素 echo "
"; echo "数组的第七个元素为:"; echo $string[6]; ?> 保存以上代码为“3-8.php”。在 PHP 环境中执行以上代码,执行结果如图 3.7 所示。 图 3.7 动态给数组增加元素例子执行结果 3.4.4 创建多维数组 一维数组的格式是 Array[],二维数组的格式就是 Array[][],多维数组的格式是 Array[][]……[]。和 一维数组一样,给多维数组赋值也有两种方法。下面分别通过实例来具体说明。 先来了解一下同时给多维数组所有元素赋值。下面的实例要完成的功能是在定义数组同时,给数 组所有元素赋值。 同时给多维数组所有元素赋值例子 第 3 章 PHP 中的常量与变量 ·33· array( 0, 1, 2 ), 1=>array( "string1", "string2", "string3", "string4", ), 2=>array( "你好!", "大家好,", "才是真的好" ) ); //创建二维数组,数组元素也是数组 for($i=0;$i"; } ?> 保存以上代码为“3-9.php”在 PHP 执行环境中执行以上代码,执行结果如图 3.8 所示。 图 3.8 同时给多维数组所有元素赋值例子执行结果 下面再来介绍如何单独给数组每个元素赋值,请参看以下代码: 单独给多维数组每个元素赋值例子 PHP 网络编程从入门到精通 ·34· "; } ?> 保存以上代码为“3-10.php”在 PHP 运行环境中执行以上代码,执行结果和图 3.8 一样。尽管以上 两例数组赋值所采用的方法不同,但都达到了给多维数组赋值的目的。 3.5 本 章 小 结 本章主要介绍了 PHP 中的常量与变量。并详细说明了常量的定义与使用、PHP 中的预定义常量; 变量的类型、变量的使用范围、PHP 的系统变量;数组变量的初始化、获取数组中的元素、给数组动 态增加元素及多维数组的创建与使用等内容。读者在实际使用时,需要注意以下问题: ‰ 常量与变量的区别,这一点不同于其他编程语言。 ‰ 引用变量时注意变量名的大小写。 ‰ 数组的引用形式,这也不同于其他语言。

本文档为【03 PHP中的常量与变量】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_989224
暂无简介~
格式:pdf
大小:392KB
软件:PDF阅读器
页数:12
分类:互联网
上传时间:2010-03-31
浏览量:18