常量一般用于一些数据结算中固定的数值。常量是一个简单值的标识符,在脚本执行期间一个常量一旦被定义,就不能再改变或者取消定义。常量的作用域是全局的,可以再脚本的任何地方声明和访问到常量,另外,虽然常量和变量都是PHP的存储但愿,但是常量声明的类型只能是标量数据。
1、常量的定义和使用
声明常量和声明变量的方式不同,在PHP中是通过使用define()函数来定义常量的,常量的命名与变量相似,也要遵循PHP标识符的命名规则。另外,声明常量默认还跟变量一样大小写敏感,按照惯例常量名称总是大写,但是不要在常量前面加上“$”符号。define()函数格式如下:
boolean define(string,mixed value[,bool case_insensitive])
<?php
define('PHP_Study','ok'); //声明一个名为PHP_Study的常量,值为字符串:ok
echo PHP_Study; //使用常量,输出ok
注意:如果使用一个没有声明的常量,则常量名会被解析为一个普通字符串,但会比直接使用字符串慢近8倍左右,所以在声明字符串时一定要加上单引号或者双引号
2、常量和变量
- 常量前面没有没有符号$
- 常量只能用define()函数定义,而不能通过赋值语句
- 常量可以不用理会变量范围的规则而在任何地方定义和访问
- 常量一旦被定义就不能被重新定义或者取消定义,直到脚本运行结束自动释放
- 常量的值只能是标量
3、系统中的预定义常量
常量名 | 常量值 | 说明 |
---|---|---|
PHP_OS | UNIX或WINNT等 | 执行PHP解析的操作系统名称 |
PHP_VERSION | 5.2.6等 | 当前PHP服务器的版本 |
TRUE | TRUE | 代表布尔值,真 |
FALSE | FALSE | 代表布尔值,假 |
NULL | NULL | 代表空值 |
DIRECTORY_SEPARATOR | \或/ | 根据操作系统决定目录的分隔符 |
PATH_SEPARATOR | ;或: | 根据操作系统决定环境变量的目录列表分隔符 |
E_ERROR | 1 | 错误,导致PHP脚本运行终止 |
E_WARNIGN | 2 | 警告,不会导致PHP脚本运行终止 |
E_PARSE | 4 | 解析错误,由程序解析器报告 |
E_NOTICE | 8 | 非关键的错误 |
M_PI | 3.1415926 | π |
4、PHP中的魔术常量
常量名 | 常量值 | 说明 |
---|---|---|
FILE | 当前的文件名 | 在那个文件中使用,就代表那个文件名 |
LINE | 当前的行数 | 在代码的哪行使用,就代表哪行的行号 |
FUNCTION | 当前的函数名 | 在哪个函数中使用,就代表哪个函数 |
CLASS | 当前的类名 | 在哪个类中使用,就代表哪个类的类名 |
METHOD | 当前对象的方法名 | 在对象中的哪个方法中使用,就代表这个方法名 |