常量

2021-11-20  本文已影响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基础入门教程”,谢谢支持!

上一篇 下一篇

猜你喜欢

热点阅读