const和define()的区别

Posted flyyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const和define()的区别相关的知识,希望对你有一定的参考价值。

php定义常量的两种方法define()和conset 

这两种方法都可以定义常量,使用方法如下

技术图片

 

但是他们有什么区别呢

1.使用位置不同,const可以在class内使用,class外使用,而define只能在class外使用

2.作用范围不同,const会受命名空间影响,define不受命名空间影响,如果const在class内定义,作用范围只在class内

 

技术图片

 

 

技术图片

而不同命名空间中定义同一个常量,会直接报错

技术图片

技术图片

 

注意:虽然const常量在不同的命名空间可以同时存在,但是在同一个命名空间中同名的const变量不会覆盖,而是会报错

技术图片

技术图片

 

综上所述,一般使用场景中,define一般用来定义全局常量,const一般在class内定义常量

 

以上是关于const和define()的区别的主要内容,如果未能解决你的问题,请参考以下文章

宏定义 #define 和常量 const 的区别

const常量和#define宏常量的区别

const和#define有什么区别?

c++中 #define和const的区别

const与#define的区别优点

在php中define和const定义常量的区别