常量

作者: 星月落 | 来源:发表于2021-11-20 21:34 被阅读0次

    1常量的声明

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

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

    常量命名示例如下:

    //合法的常量名

      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");

      ?>

    常量的作用域是全局的,即在脚本的任何地方都可以使用已经定义的常量。

    ·常量和变量有如下不同:

    ·常量前面没有美元符号($)。

    ·常量只能用define()和const定义。

    ·常量的作用域是全局的。

    常量一旦被定义就不能被重新定义或者取消定义。

    ·常量的值一般是标量。

    2预定义常量

    PHP中有很多预定义常量,也称作魔术常量,其中很多都是由不同的扩展库定义的,只有在加载了这些库时才会出现。几个常见的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 "
    ";

      echo ZLIB_NO_FLUSH;echo "
    ";

      echo ZLIB_PARTIAL_FLUSH;echo "
    ";

      echo ZLIB_SYNC_FLUSH;echo "
    ";

      echo ZLIB_FULL_FLUSH;echo "
    ";

      echo ZLIB_FINISH;echo "
    ";

      echo ZLIB_BLOCK;echo "
    ";

      echo PREG_JIT_STACKLIMIT_ERROR;echo "
    ";

    输出结果是:

      -9223372036854775808

      0

      1

      2

      3

      5

      4

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

    欢迎关注微信公众号“PHP基础入门教程”,谢谢支持!

    相关文章

      网友评论

          本文标题:常量

          本文链接:https://www.haomeiwen.com/subject/efbutrtx.html