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__
当前名称空间的名称。