购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 常量

常量是指在脚本执行期间不能改变值的量。PHP语言中常量大小写是敏感的,习惯上常量的命名总是大写的,这一点请在使用时注意。

2.4.1 常量的声明

合法的常量名以字母或下划线开始,后面可跟任何字母、数字或下划线。

可以使用define()来定义常量,在PHP 5.3.0以后也可使用const关键词在类定义之外定义常量。常量只能是标量数据(boolean、integer、float、string),也可以定义资源类型(resource)常量,但是应该尽量避免,因为这会造成不可预料的结果。

常量命名示例如下:

    <?php
    // 合法的常量名
    define("FOO",     "something");   // 定义一个名为 FOO的常量
    define("FOO2",    "something else");
    define("FOO_BAR", "something more");
    // 非法的常量名
    define("2FOO",    "something");
    const A = 'AAA';    // 使用const 定义一个常量,与define定义效果一样
    // 下面的定义是合法的,但应该避免这样做(自定义常量不要以__开头)
    // 也许将来有一天PHP会定义一个__FOO__的魔术常量
    // 这样就会与你的代码相冲突
    define("__FOO__", "something");
    ?>

常量的作用域是全局的,即在脚本的任何地方都可以使用已经定义的常量。常量和变量有如下不同:

2.4.2 预定义常量

PHP中有很多预定义常量,也称作魔术常量,其中很多都是由不同的扩展库定义的,只有在加载了这些库时才会出现。几个常见的PHP魔术常量如表2-7所示。

表2-7 PHP中常见的魔术常量

在PHP 7中新增了以下常量:

    PHP_INT_MIN
    PREG_JIT_STACKLIMIT_ERROR
    ZLIB_NO_FLUSH
    ZLIB_PARTIAL_FLUSH
    ZLIB_SYNC_FLUSH
    ZLIB_FULL_FLUSH
    ZLIB_BLOCK
    ZLIB_FINISH

打印以上常量:

    echo PHP_INT_MIN;echo "<br/>";
    echo ZLIB_NO_FLUSH;echo "<br/>";
    echo ZLIB_PARTIAL_FLUSH;echo "<br/>";
    echo ZLIB_SYNC_FLUSH;echo "<br/>";
    echo ZLIB_FULL_FLUSH;echo "<br/>";
    echo ZLIB_FINISH;echo "<br/>";
    echo ZLIB_BLOCK;echo "<br/>";
    echo PREG_JIT_STACKLIMIT_ERROR;echo "<br/>";

输出结果是: BdsBxwIao5lcWRtKbS//jaRPWhDq58OKe3QzDNU/JMcwSlmQij1ungyFWZPRviqU

      -9223372036854775808
      0
      1
      2
      3
      5
      4
      6
点击中间区域
呼出菜单
上一章
目录
下一章
×