php const和define的区别

 我来答
末日级人机
2016-09-25 · TA获得超过386个赞
知道小有建树答主
回答量:176
采纳率:100%
帮助的人:86.6万
展开全部
1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。
2、define不能在类中定义而const可以。

3、const不能在条件语句中定义常量

if (...) {
const FOO = 'BAR'; // invalid
}

but

if (...) {
define('FOO', 'BAR'); // valid
}
4、const采用一个普通的常量名称,define可以采用表达式作为名称。

const FOO = 'BAR';

for ($i = 0; $i < 32; ++$i) {
define('BIT_' . $i, 1 << $i);
}
5、const只能接受静态的标量,而define可以采用任何表达式。

const BIT_5 = 1 << 5; // invalid

but

define('BIT_5', 1 << 5); // valid
6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量

define('FOO', 'BAR', true); www.2cto.com
echo FOO; // BAR
echo foo; // BAR
总结:
使用const简单易读,它本身是一个语言结构,而define是一个方法,用const定义在编译时比define快很多。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式