位置:首页 > 脚本语言 > PHP在线教程 > PHP常量

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)方法名返回,因为方法被声明(区分大小写)。