在php中可以使用两种方式定义常量,它们是
- define()
- const
接下来说下它们的区别。
- 使用性质不同,const是语言结构,define()是方法。
- 使用范围不同,const用于类的成员变量定义,define()用于定义全局的常量。
- 使用位置不同,const必须定义在类中,define不能定义在类中。
- 大小写敏感,const大小写敏感,define默认大小写敏感,define可以使用第三个参数设置为true,设置为不敏感。
例子
//全局定义
define("GENDER_MEAL", 1);
define("GENDER_FEMEAL", 2);
define("GENDER_SERCRT", 3);
class Person{
//1男2女3保密
const GENDER_MEAL=1;
const GENDER_FEMEAL=2;
const GENDER_SERCRT=3;
}
$p = new Person();
echo $p::GENDER_MEAL;//调用类的内部常量
echo "
---
";
echo GENDER_MEAL;//全局常量
?>
一般来说面试过程中,只需要说出它们的使用位置不同即可。const定义类的内部,define定义在代码开始处。