PHP常量详解
常量可以理解为不变的量。常量被定义后,在脚本的其他任何地方都不能改变。一个常量由英文字母、下划线和数学组成。但数字不能作为首字母出现。
在PHP中使用define()函数来定义常量,语法格式如下:
define(string constant_name,mixed value,case_sensitive=true)
参数说明:
constant_name 必选参数。常量名称,即标识符。
value 必选参数。常量的值。
case_sensitive 可选参数。指定是否大小写敏感,设定为true,表示不敏感。
获取常量有两种方法:一种是使用常量直接获取;另一种是使用constant()函数,constant()函数和直接使用常量名输出效果一样。但函数可以动态输出不同常量,在使用上更灵活方便。函数语法格式为:
mixde constant(string const_name)
参数const_name为要获取常量的名称,也可为储存常量名的变量。如果获取成功则返回常量值,否则提示错误信息常量没有被定义。
要判断一个常量是否已经被定义,可以使用define()函数。函数语法格式为:
bool defined(string constant_name)
参数constant_name为要获取常量的名称,成功返回true,否则返回false。
实例:
为了更好的理解如何定义常量,这里给出一个定义常量实例。实例中使用上述的define()函数、constant()函数和defined()函数3个函数。使用defined()函数来定义一个常量,使用constant()函数来动态获取常量的值,使用define()函数来判断常量是否被定义。代码如下:
<?php /define("变量名",值,是否模糊大小写) define("MESSAGE","能看到一次"); echo MESSAGE."<br >"; echo Message."<br >"; //输出Message,表示没有该常量 define("COUNT","能看到多次",true); echo COUNT."<br >"; echo CoUnT."<br >"; //输出COUNT,设定大小写不敏感 $name = "count"; //通过constant()函数获取常量 echo constant($name)."<br >"; //是否存在常量 "MESSAGE" echo (defined("MESSAGE"))."<br >"; //如果常量被定义,则返回true,使用echo输出显示1。
输出结果:
能看到一次 Notice: Use of undefined constant Message - assumed 'Message' in 编辑器代码错误位置。 Message 能看到多次 能看到多次 能看到多次 1
二、预定义常量
php中可以使用预定义常量获取php中的信息。预定义常量如下:
常量名 | 说 明 |
---|---|
__FILE__ | 默认常量,是 PHP 程序文件名 |
__LINE__ | 默认常量,是 PHP 程序行数 |
PHP_OS | 内建常量,指执行 PHP 解析器的操作系统名称 |
PHP_VERSION | 内建常量,是 PHP 程序的版本 |
TRUE | 该常量是一个真值 |
FALSE | 该常量是一个假值 |
NULL | 一个null值 |
E_ERROR | 错误,导致php脚本运行终止 |
E_WARNING | 警告,不会导致php脚本运行终止 |
E_PARSE | 解析错误,由程序解析器报告 |
E_NOTICE | 非关键的错误,例如变量未初始化 |
注意:FILE和LINE 中的“__”是两条下划线,而不是一条"_"。
说明:以E_开头的预定义常量,是PHP的错误调试部分。
实例:
预定义常量与用户自定义常量在使用上没什么差别。下面使用预定义常量输出PHP中的信息。
<?php echo "PHP程序当前文件路径名:".FILE; echo "<br >PHP程序当前行数:".LINE; echo "<br >当前PHP程序的版本:".PHP_VERSION; echo "<br >当前操作系统:".PHP_OS;
输出类似如下的结果:
PHP程序当前文件路径名:D:\phpStudy\www\index.php PHP程序当前行数:3 当前PHP程序的版本:5.6.27 当前操作系统:WINNT
注意:根据每个用户所使用的操作系统和软件版本不同,所得结果也不一定相同。
上一篇: CI框架学习随笔