PHP从入门到精通(第5版)
上QQ阅读APP看书,第一时间看更新

3.4 PHP常量

本节主要介绍PHP常量,包括常量的声明和使用以及预定义常量。

3.4.1 声明和使用常量

常量可以理解为值不变的量。常量值被定义后,在脚本的其他任何地方都不能改变。一个常量由英文字母、下画线和数字组成,但数字不能作为首字母出现。

在PHP中使用define()函数来定义常量,该函数的语法格式如下:

    define(string constant_name,mixed value,case_sensitive=false)

该函数有3个参数,详细参数说明如表3.7所示。

表3.7 define()函数的参数说明

获取常量的值有两种方法:一种是使用常量名直接获取值;另一种是使用constant()函数。constant()函数和直接使用常量名输出的效果是一样的,但函数可以动态地输出不同的常量,在使用上要灵活方便得多。constant()函数的语法格式如下:

    mixed constant(string const_name)

其中,const_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,否则提示错误信息常量没有被定义。

要判断一个常量是否已经定义,可以使用defined()函数,该函数的语法格式如下:

    bool defined(string constant_name);

其中,constant_name为要获取常量的名称,成功则返回true,否则返回false。

【例3.9】为了更好地理解如何定义常量,这里给出一个定义常量的实例。在实例中使用上述的3个函数:define()函数、constant()函数和defined()函数。使用define()函数来定义一个常量,使用constant()函数来动态获取常量的值,使用defined()函数来判断常量是否被定义。实例代码如下:(实例位置:资源包\TM\sl\3\9

    <?php
       define ("MESSAGE","我是一名PHP程序员");
       echo MESSAGE."<br>";                       //输出常量MESSAGE
       echo Message."<br>";                       //输出“Message”,表示没有该常量
       define ("COUNT","我想要怒放的生命",true);
       echo COUNT."<br>";                         //输出常量COUNT
       echo Count."<br>";                         //输出常量COUNT,因为设定大小写不敏感
       $name = "count";
       echo constant ($name)."<br>";              //输出常量COUNT
       echo (defined ("MESSAGE"))."< br>";        //如果常量被定义,则返回true,使用echo输出显示1
    ?>

运行结果如图3.7所示。

图3.7 通过函数对常量进行定义、获取和判断

3.4.2 预定义常量

PHP中可以使用预定义常量获取PHP中的信息。常用的预定义常量如表3.8所示。

表3.8 PHP的预定义常量

注意

__FILE__和__LINE__中的“__”是两条下画线,而不是一条“_”。

说明

表3.8中以E_开头的预定义常量,是PHP的错误调试部分。如需详细了解,请参考error_ reporting()函数。

【例3.10】预定义常量与用户自定义常量在使用上没什么差别。下面使用预定义常量输出PHP中的信息。实例代码如下:(实例位置:资源包\TM\sl\3\10

    <?php
    echo "当前文件路径: ".__FILE__;           //输出__FILE__常量
    echo "<br>当前行数:".__LINE__;            //输出__LINE__常量
    echo "<br>当前PHP版本信息:".PHP_VERSION;  //输出PHP版本信息
    echo "<br> 当前操作系统: ".PHP_OS ;        //输出系统信息
    ?>

运行结果如图3.8所示。

图3.8 应用PHP预定义常量输出信息

说明

根据每个用户操作系统和软件版本的不同,所得的结果也不一定相同。