常量作为一种特殊的数据存储容器,有着区别于变量的特性。其中,最为显著的特性就是常量在程序运行期间值始终保持不变。
在不的编程语言中,常量的取值也是不一样的。从PHP5.3开始,常量的定义可以使用define函数和const关键字。
常量作为一种特殊的数据存储容器,有着区别于变量的特性。其中,最为显著的特性就是常量在程序运行期间值始终保持不变。
在不的编程语言中,常量的取值也是不一样的。从PHP5.3开始,常量的定义可以使用define函数和const关键字。
在PHP中,常量的特性如下:
1、常量只能通过define函数和const关键字定义;
2、常量前面没有美元符号,通常全部使用大写字母;
3、常量的使用无作用域限制;
4、常量定义后不能修改和取消;
5、常量的值只能是标量(数字、字符串、布尔值),针对const关键字。
我们注意到,define是一个函数,而const是一个关键字,这里我们就要区别一下这二者之间的区别了。
从目前来看,define函数和const关键字区别如下:
1、const只能接受标量,而define函数可以接受表达式,不过从PHP5.6之后const也可以接受常量的表达式;
2、const定义的常量大小写敏感,而define函数可以通过第三个参数来指定大小写是否敏感;
3、const是在代码编译时定义一个常量,而define函数是在代码运行时才定义一个常量,这就导致const不能用在条件判断语句中;
4、const可以在class和interface中使用 ,而define函数不可以。
有人可能会产生一个疑问,为什么PHP要在后续版本中引入const关键字来定义常量。原因在于处理机制上,如果程度中大量使用define函数定义常量会严重影响PHP整个程度的运行效率,而const则可以改变这一现状。
随着PHP版本的升级,define函数和const关键字也在慢慢变更的自己的历史使命。