PHP 常量
时间:2018-11-15 13:14:33 来源:igfitidea点击:
在本教程中,我们将学习如何定义PHP常量以及一些常用的内置常量。
PHP 常量介绍
PHP常量的值,如其名称所示,在脚本执行期间不能更改。
要在PHP中定义常量,可以使用define()函数。
按照惯例,常数通常是大写的。与变量不同,常量的名称不以美元符号($)开头。
常量只能包含标量或简单值,如整数、浮点、字符串或布尔值。一旦定义了常量,就可以从脚本中的任何位置访问它。
下面是一个定义常量的例子:
<?php
define('MESSAGE', "这是之路教程 PHP常量");
echo MESSAGE . '<br>';
我们定义了一个名为MESSAGE的常量,用于存储一个字符串。
请注意,您不能像变量那样重新定义或取消设置常数。实际上,经常使用常量来存储在整个应用程序中不会更改的值。
通过变量得到常数的值
有时,您想要获取一个常量的值,但是您不知道它的名称,例如,一个常量名称存储在一个变量中,或者由一个函数返回。
幸运的是,PHP提供了接受常量名称并返回常量值的constant()函数。如果常量还没有定义,则constant()函数将返回null。
下面的例子演示了如何使用constant()函数:
<?php
define('RED', '#FF0000');
define('GREEN', '#00FF00');
define('BLUE', '#0000FF');
function getRRB($color)
{
$code = RED; // 默认颜色
switch ($color) {
case 'red': $code = 'RED';
break;
case 'green': $code = 'GREEN';
break;
case 'blue': $code = 'BLUE';
break;
}
return $code;
}
$colorCode = getRRB('green');
echo '绿色的RGB是 ' . constant($color_code);
检查是否定义了常量
有时,在使用常量之前检查它是否已定义是非常有用的。
要检查是否定义了常量,可以使用defined()函数。
如果常量存在,则defined()函数返回true,否则返回false。
<?php
define('MAX_SIZE', 2014);
if (defined('MAX_SIZE')) {
echo "定义了常量MAX_SIZE";
} else {
echo "常量MAX_SIZE还没有定义";
}
PHP预定义的魔法常量
PHP预定义了一些非常有用的常量,这些常量以双下划线(__)开头和结尾。例如,__file__常量保存正在执行的PHP文件的名称,而__line__常量保存文件的当前行号。
<?php echo 'Executing line ' . __LINE__ .' of the file ' . __FILE__;
其他PHP预定义的魔法常量如下:
__DIR__当前脚本文件的目录。__FUNCTION__当前函数名。__CLASS__当前包含命名空间的类名。__TRAIT__当前的trait名称。__METHOD__类的当前方法名。__NAMESPACE__当前名称空间的名称。

