PHP常量
常量是一个名称或标识符的一个简单的值。 常量值在脚本的执行过程中不能改变。 默认情况下,常量是区分大小写的。按照惯例常量标识符一般是大写。 常量名称开头为字母或下划线,后面跟上任意数量的字母,数字或下划线。如果已经定义了一个常量,它不能改变或者取消定义。
要定义一个常量,必须使用define()函数和获取常量值,必须简单地指定其名字。不像变量,不需要有一个恒定的以$开头的字符串。也可以用函数constant()来读取常量的值,如果想动态获取常量的名称。
constant() 函数:
指出的常量名称,该函数将返回常量的值。
当想要检索常量值,这是有用的,但不知道它的名字,存储在一个变量或函数的返回。
constant() 例子:
<?php define("MINSIZE", 50); echo MINSIZE; echo constant("MINSIZE"); // same thing as the previous line ?>
只有标量数据(布尔,整数,浮点数和字符串)可以包含在常量。
常量和变量之间的区别是:
-
没有必要在一个常量前写一个美元符号($), 其中变量前面是必须要写美元符号($)。
-
常量不能用简单的赋值语句,它们只能用define()函数定义。
-
常量可以不用担心变量范围的规则定义,任何地方访问.
-
一旦常量已经确定,不能被重新定义或未定义。
有效和无效的常量名:
// Valid constant names define("ONE", "first thing"); define("TWO2", "second thing"); define("THREE_3", "third thing") // Invalid constant names define("2TWO", "second thing"); define("__THREE__", "third value");
PHP魔术常量:
PHP提供了大量的预定义的常量,以它运行的任何脚本。
有不同的地方就使用5个魔术常数。 例如,__LINE__ 的值取决于它的使用在脚本的行。这些特殊的常量不区分大小写,详情如下:
一些“魔术”的PHP常量如下:
名称 | 描述 |
---|---|
__LINE__ | 该文件的当前行号. |
__FILE__ | 该文件的完整路径和文件名。如果使用内部的包含,则返回包含文件的名称。自PHP4.0.2,__FILE__总是包含而在旧版本中,它包含在某些情况下相对路径绝对路径。 |
__FUNCTION__ | 该函数名。 (PHP 4.3.0新加)自PHP 5起本常量返回该函数名称,因为它被声明(区分大小写)。在PHP 4中其值总是小写。 |
__CLASS__ | 类名。(PHP 4.3.0新加)。自PHP5本常量返回类的名字,因为它被声明(区分大小写)的。在PHP 4中其值总是小写。 |
__METHOD__ | 类方法名。 (在PHP5.0.0)方法名返回,因为方法被声明(区分大小写)。 |