在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定义在代码开始处。