常量可以理解为值不变的量。常量值被定义后,在脚本的其他任何地方都不能改变。一个常量由英文字母、下划线和数字组成,但数字不能作为首字母出现。
在PHP中使用define()函数来定义常量,该函数的语法格式如下:
define(string constant_name,mixed value,case_sensitive=false)
// constant_name必选,常量名称 value必选,常量的值 case_sensitive可选参数,指定是否大小写敏感,如果为true则不敏感
获取常量的值有两种方法:一种是使用常量名直接获取值:另一种是使用constant()函数。constant()函数和直接使用常量名输出的效果是一样的,但函数可以动态地输出不同的常量,在使用上要灵活方便得多。constant()函数的语法格式如下:
mixed constant(string const_name)
其中,const_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,否则提示错误信息常量没有被定义。
要判断一个常量是否已经定义,可以使用defined()函数,该函数的语法格式如下:
bool defined(string constant_name);
其中,constant_name为要获取常量的名称,成功则返回true,否则返回false。
<?php
define("MESSAGE","PHP是最好的语言");
echo MESSAGE."<br>";
define("COUNT","我是数量");
echo COUNT."<br>";
//echo Count."<br>";//php7.3之后不允许了
$name ="COUNT";
echo constant($name) ."<br>";
echo defined($name)."<br>";
预定义常量
常量名 | 解释 |
---|---|
__FILE__ | 默认常量,PHP程序文件名 |
__LINE__ | 默认常量,PHP程序行数 |
PHP_VERSION | 内建常量,PHP程序版本 |
PHP_OS | 内建常量,执行PHP解释器的操作系统名称 |
TRUE | 该常量是一个真值true |
FALSE | 该常量是一个假值false |
NULL | 一个null值 |
E_ERROR | 该常量指到最近的错误处 |
E_WARNING | 该常量指到最近的警告处 |
E_PARSE | 该常量指到最近的潜在问题处 |
E_NOTICE | 该常量为发生不寻常处的提示但不一定是错误处 |
表中以E开头的预定义常量,是PHP的错误调试部分。如需详细了解,请参考error_reporting()函数。
<?php
echo "当前文件路径".__FILE__."<br>";
echo "当前行数".__LINE__."<br>";
echo "当前PHP版本".PHP_VERSION."<br>";
echo "当前操作系统".PHP_OS."<br>";