《第4章PHP中的常量与.ppt》由会员分享,可在线阅读,更多相关《第4章PHP中的常量与.ppt(16页珍藏版)》请在优知文库上搜索。
1、第4章 PHP中的常量与变量 常量和变量是编程语言的最基本构成,代表了运算中所需要的各种值。通过变量和常量,程序对才能各种值进行访问和运算。学习变量和常量是编程的基础。本章将详细介绍变量和常量的使用,其中还将特别介绍特殊变量数组的使用。4.1 数据类型在正式介绍常量与变量之前,先来了解一下与此二者密切相关的一个重要概念:数据。数据是程序运行的基础,所有的程序都是在处理各种数据。例如,财务统计系统所要处理的员工工资额、论坛程序所要处理的用户名、密码、用户发贴数等等。所有这些都是数据。在编程语言中,为了方便对数据的处理以及节省有限的内容资源,需要对数据进行分类。要表示某个物品的数量,就只能是1,2
2、,3这样的整数;要表示一个非常精确的带单位的内容,就可能会用到10.32吨,12.88秒这些带有小数点的数值;而要表示不同的内容则需要用到不同的字符,如“BeiJing”,“NewYork”,“Japig”等。为了更有效的利用计算机的内存资源,就需要对不同的数据进行分类。通常的数据类型有:整型、浮点型、字符型等几种类型。4.2 常量的定义与使用 常量代表程序运行中值不发生变化的一类数据。在PHP中,通常使用常量表示只能读写而不能改变值的内容,如PHP的版本、一个PHP文件的行数等。而从是否需要用户定义来看,PHP中的常量又可以分为预定义常量和自定义常量两种。4.2.1 预定义常量预定义常量是P
3、HP系统已经事先定义过的,不需要用户定义即可使用的一类常量。由于预定义常量不需要事先定义,所以在编程过程中使用,可以快速获取其指代的相关内容,从而大大提高工作效率。其中的内核预定义常量不需要任何设置即可直接使用,而有些常量则只有在PHP加载相关的扩展库后才能使用。想要获取系统中所有的预定义常量,可以使用函数get_defined_constants()。常用的PHP预定义常量及其相关信息如表所示。4.2.2 自定义常量与预定义常量不同,自定义常量是需要用户定义才能使用的一类常量。虽然需要事先定义,但与预定义常量相比,自定义常量更加灵活。用户可以根据需要定义相应的常量内容。在PHP中定义常量的语
4、法格式如下所示。define(YEAR,2007);通过使用define()函数来实现对常量的定义。该函数有两个参数,第一个参数为定义的常量的名称;第二个参数为指定常量的值。以上代码就定义了一个名为YEAR的常量,其值为2007。定义常量时需要注意,常量名的命名必须遵循以下规则:常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。如果调用一个未定义的常量,则通常会输出该未定义常量的名字(即字符串)并且会发出一条错误信息。4.3 变量的定义与使用 变量是一种在程序运行过程中,其值可以发生改变的一类数据的通称。变量的值可以改变的属性是其与常量的最本质的区别。变量是PHP编程中最活跃的因素,基
5、本上不论何种操作都需要有变量的参与。与常量一样按照是否需要用户定义,变量也有预定义变量与自定义变量之分。4.3.1 预定义变量 预定义变量是由PHP系统已经定义过的,用户可以直接使用的一类变量。预定义变量不需要定义即可直接使用,使用这些变量可以快速实现对所需要内容的访问。PHP5的常用预定义变量,4.3.2 自定义变量与预定义变量不同,自定义变量是需要定义才能使用的变量。PHP中定义变量与其他编程语言有很大的不同。PHP中定义一个变量时使用如下格式:$var;即一个美元符号“$”加变量名。其中变量名的命名规则与与其他标签遵循一样的规则即:以字母或下划线开始,后面跟着任何字母,数字或下划线。在使
6、用变量时要注意:与常量不同,变量是大小写不敏感的,即内容相同大小写不同的变量是同一变量。例如:定义了$TEMP,则完全可以使用$temp来调用。但是为了使程序更加清晰不推荐这样使用,原则上使用变量时应该与其定义的变量名保持一致。4.3.3 变量的类型PHP的变量类型与前面所介绍的数据类型基本一致。PHP有以下几种类型:整型变量(integer)、浮点型变量(double)、字符型变量(string)、布尔型变量(bool)、数组变量(array)和对象型变量(object)。整型变量在32位操作系统中的它的有效范围是:-2,147,483,648+2,147,483,647。要使用16进位整数
7、可以在前面加0 x。浮点型变量在32位操作系统中的有效范围为:它效范围是1.7E-308到1.7E+308。字符型变量不同于其他编程语言有字符与字符串之分,在PHP中统一使用字符型变量来定义字符或者字符串。数组变量是一种比较特殊的变量类型,将在4.4小节中详细说明。4.3.4 变量的作用域和其他编程语言一样,PHP中的变量也有全局变量与局部变量之分。全局变量指在程序运行期间都能使用的变量;而局部变量只在当前函数或过程中有效。在PHP程序执行时,系统会在内存中保留一块全局变量的区域。实际运用时,可以通过$GLOBALS变量名称的数组调用方法,将需要的全局变量调出。在使用这种方法时,需要注意的是P
8、HP中的变量有大小写之分。从4.2.2小节介绍预定义变量时就说过,$GLOBALS数组是PHP程序中比较特殊的变量,不必声明系统会自动匹配相关的变量在里面。在函数中也不用事先对$GLOBALS数组进行声明,就可以直接使用。和$GLOBALS变量类似的还有$php_errormsg字符串变量。若PHP的配置文件php.ini中的track_errors选项值为True的话,使用全局变量$php_errormsg可以看到错误的讯息。4.4 数组型变量的使用 数组可以看作是一组变量的集合,它是一种比较特殊的变量。与其他变量(integer、double、string、bool)类型相比较,最大的特点
9、是可以存储多个值,而标量只能存储一个值。所以说数组是一组变量的集合,其元素类型可以是数值型、字符型、甚至是数组。4.4.1 如何定义数组 要定义一个数组,有两种方法,一种是直接给数组每个元素赋值,另一种是对array()函数直接定义一个数组。直接给数组每个元素赋值的方法如下所示。$array1key=value;其中的array1为数组的名称;key为数组的键,可以为数字也可以为字符;而value则是每个数组元素所对应的值。用array函数直接定义一个数组的方法如以下代码所示。$array_name=array(key1=value1,key2=value2);4.4.2 如何获取数组元素 获
10、取数组某个元素,只需要使用数组名加中括号加某个键即可,调用方法如下所示。$arrkey;其中的$arr指代数组变量名,key为需要获取元素的键值。在获取数组元素时,有一个问题需要注意,如果数组以数字作为数组键值,则数组的键是从0开始。所以数组的第一个元素应该是$arr0,而非$arr1。4.4.3 动态为数组添加元素一个数组在创建完毕之后,用户可以动态为数组添加新的元素。添加方法和分别给数组每个元素赋值情况是相似的。也是采用$array1key=value;这种形式。下面通过一个实例来说明,如何为数组动态添加元素。?phpecho;/输出标准HTML内容echo;echo;echo 动态为数组
11、添加元素;echo;echo;echo;echo 添加前的数组为:;$arr1=array(11,a=hello world,16);/定义一个数组print_r($arr1);/输出数组$arr1b=I can fly;/动态为数组添加元素$arr1=Windows xp;/动态为数组添加元素;echo;echo 添加后的数组为:;print_r($arr1);/再次输出数组echo;echo;?4.4.4 创建多维数组前面几节介绍的数组都是一维的,这一小节来介绍一下多维数组。数组可以是一维的也可以是多维的。“维数”或“秩”对应于用来识别每个数组元素的下标个数。维数可以多达32维,但一般三维以上就很少见了。多维数组的定义方法与一维数组类似。也可以采用给一维数组定义的两种方法来创建。下面就通过一个实例来说明如何创建多维数组。4.5 本章小结 本章向读者详细介绍了PHP中的常量与变量的相关知识。正像本章开篇所说的那样:不管在何种编程语言中,常量与变量都是不可或缺的内容。所以熟练运用常量与变量是进一步学习PHP其他更深层内容的基础之一。本章具体介绍了PHP中的常量与变量相关内容,并具体介绍两种特殊变量中的数组型变量,关于另一种特殊变量:对象变量,将在本书第 章PHP与面向对象编程一章中详细介绍。