关联课件: 4子项目四 - PHP中的常量(点击在线预览)
PHP的常量有两种:一种是系统预定义常量,另一种是自定义常量。
4.3.2.1 预定义常量
PHP为运行的脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有加载了这 些扩展库时才能使用,可以动态加载,也可以在编译时包含进去。
另外有些系统预定义常量的值是随着使用它们的位置而改变的。例如__LINE__的值就依赖于它在脚本中所 处的行来决定,有些资料中也把它们称为魔术常量。
下面列举了一些常用的系统预定义常量。
1)__FILE__
本默认常量是文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。
2)__LINE__
本默认常量是文件中的当前行号。如果用在包含文件中,则返回在包含文件中的当前行号。
3)PHP_VERSION
本内建常量为PHP程序的版本,如' 5.2.5'。
4)PHP_OS
本内建常量指执行PHP解析器的操作系统名称,如'Linux'。
5)TRUE
本常量就是真值(true)。
6)FALSE
本常量就是假值(false)。
7)E_ERROR
本常量指到最近的错误处。
8)E_WARNING
本常量指到最近的警告处。
9)E_PARSE
本常量为解析语法有潜在问题处。
10)E_NOTICE
本常量为发生不寻常但不一定是错误处,例如存取一个不存在的变量。
这些以E_开头的常量,可以参考error_reporting()函数,其中有更多的相关说明。
下面的例子就是利用系统预定义常量输出一些系统参数。
<!--文件4-5.php:PHP预定义常量--> <HTML> <HEAD> <TITLE>PHP预定义常量</TITLE> </HEAD> <BODY> <?php echo (__LINE__); //输出8 echo "<p>"; echo (__FILE__); echo "<p>"; echo (__LINE__); //输出12 echo "<p>"; echo PHP_VERSION; echo "<p>"; echo PHP_OS; ?> </BODY> </HTML>
其运行结果如图4-5所示。
图4-5 程序4-5.php的运行结果
4.3.2.2 自定义常量
编写程序时仅使用以上的系统预定义常量是不够的。define()可以让用户自行定义所需要的常量,其定义 的语法为:
define ("常量名称", "常量内容")
用法详见程序4-6.php。
1: <!--文件4-6.php:PHP自定义常量-->
2: <HTML>
3: <HEAD>
4: <TITLE>PHP定义常量</TITLE>
5: </HEAD>
6: <BODY>
7: <?php
8: define("COPYRIGHT", "Copyright © 2006, www.rzpt.cn");
9: echo COPYRIGHT;
10: ?>
11: </BODY>
12: </HTML>
其运行结果如图4-6所示。
图4-6 程序4-6.php的运行结果
这也是自定义常量和变量不同处,在使用时一定要注意。
1.define是宏定义,程序在预处理阶段将用define定义的内容进行了替换。因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存。const定义的常量,在程序运行时在常量表中,系统为它分配内存。 2.define定义的常量,预处理时只是直接进行了替换。所以编译时不能进行数据类型检验。const定义的常量,在编译时进行严格的类型检验,可以避免出错。
define("COPYRIGHT", "Copyright © 2006, www.rzpt.cn");
老师讲的很详细,从中学到了很多。
对于PHP常量有了一个基本的了解
有点懵
这些语法基础对于刚学习PHP的人来说是非常重要的,条理清晰,方便学习
6666
1)__FILE__ 本默认常量是文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。
const定义的常量,在编译时进行严格的类型检验,可以避免出错。