
3.3 常量
在PHP中,常量是一旦声明就无法改变的值。本节来讲述如何声明和使用常量。
3.3.1 声明和使用常量
PHP通过define()命令来声明常量,格式如下:
define("常量名",常量值);
常量名是一个字符串,通常在PHP的编码规范的指导下使用大写英文字母表示,比如CLASS_NAME 、MYAGE等。
常量值可以是很多种PHP的数据类型,可以是数组,可以是对象,当然也可以是字符和数字。
常量就像变量一样存储数值,但是与变量不同的是,常量的值只能设定一次,并且无论在代码的任何位置,它都不能被改动。常量声明后具有全局性,在函数内外都可以访问。
【例3.1】(实例文件:ch03\3.1.php)
<? php define("HUANY", "欢迎学习PHP基本语法知识"); // 定义常量HUANY echo HUANY; // 输出常量值 ?>
本程序运行结果如图3-1所示。

图3-1 运行结果
【案例分析】:
● 用define函数声明一个常量。常量的全局性体现在可在函数内外进行访问。
● 常量只能存储布尔值、整型、浮点型和字符串数据。
3.3.2 内置常量
PHP的内置常量是指PHP在系统建立之初就定义好的一些量。PHP中预定义了很多系统内置常量,这些常量可以被随时调用。下面列出了一些常见的内置常量。
1. _FILE_
这个默认常量是文件的完整路径和文件名。若引用文件(include或require)则在引用文件内的该常量为引用文件名,而不是引用它的文件名。
2. _LINE_
这个默认常量是PHP程序行数。若引用文件(include或require)则在引用文件内的该常为引用文件的行,而不是引用它的文件行。
3. PHP_VERSION
这个内置常量是PHP程序的版本,如3.0.8-dev。
4. PHP_OS
这个内置常量是指执行PHP解析器的操作系统名称,如Linux。
5. TRUE
这个常量就是真值(true)。
6. FALSE
这个常量就是伪值(false)。
7. E_ERROR
这个常量指到最近的错误处。
8. E_WARNING
这个常量指到最近的警告处。
9. E_PARSE
本常量指到解析语法有潜在问题处。
10. E_NOTICE
这个常量为发生不寻常但不一定是错误处,例如存取一个不存在的变量。
11. _DIR_
这个常量为文件所在的目录。该常量在PHP 5.3.0版本中新增。
12. _ FUNCTION _
这个常量为函数的名称。从PHP 5开始,此常量返回该函数被定义时的名字,并且区分大小写。
13. _ CLASS _
这个常量为类的名称。从PHP 5开始,此常量返回该类被定义时的名字,并且区分大小写。
下面举例说明系统常量的使用方法。
【例3.2】(实例文件:ch03\3.2.php)
<? php echo(_FILE_); // 输出文件的路径和文件名 echo “<br />“; // 输出换行 echo(_LINE_); // 输出语句所在的行数 echo “<br />“; echo(PHP_VERSION); // 输出PHP的版本 echo “<br />“; echo(PHP_OS); // 输出操作系统名称 ?>
本程序运行结果如图3-2所示。

图3-2 程序运行结果
【案例分析】:
(1)echo “<br />“语句表示为输出换行。
(2)echo(_FILE_)语句输出文件的文件名,包括详细的文件路径。echo(_LINE_)语句输出该语句所在的行数。echo(PHP_VERSION)语句输出PHP程序的版本。echo(PHP_OS)语句输出执行PHP解析器的操作系统名称。