php中const和define有什么区别

php中const和define的区别有:const是语言结构,define是函数;const可以在类中使用,define不可以;const不能在条件分支中使用,define可以。

本文操作环境:windows10系统、php 7、thinkpad t480电脑。

我们知道在PHP中一共有两种定义常量的方式,分别是const和define。那么很多初学者在使用const和define的过程中可能会产生一个疑问,它们两个在使用上有什么区别呢?

下面我们一起来看看两者的区别:

const是一种语言结构,而define是一个函数。

const可以在类中使用,而define不可以。在PHP5.3以前,const只能在类中使用,而PHP5.3开始在类外也可以使用。

const不能在条件分支中使用,而define可以。

const只能用普通的常量名称,define可以使用表达式。

const在PHP5.6之前只接受静态的标量,从PHP5.6开始可以使用表达式,define可以使用表达式。

const定义的常量是大小写敏感的,而define可以通过第三个参数来指定是否大小写敏感(true不敏感;false敏感,默认为false)。

const定义常量时考虑命名空间,而define不会。简单来说就是const可以在不同的命名空间下定义同名的常量,而define则不可以。

常量可以通过常量名直接访问,也可以通过constant()函数访问,通过get_defined_constants()可以获得所有已定义的常量。

推荐学习:php培训

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php中const和define有什么区别