摘要:本文主要向大家介绍了PHP语言学习之php中 const 与define()的区别 ,选择,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。
本文主要向大家介绍了PHP语言学习之php中 const 与define()的区别 ,选择,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。
相同点: 两者都可以定义常量
FOO = ‘BAR‘‘FOO‘,‘BAR‘);
const 的劣势之处:
1.const 必须被声明在top-level-scope中(顶级域)..
例如:
FOO =‘BAR‘; ‘FOO‘,‘BAR‘); }
一个常用的检测常量是否定义的方式:
(!(‘FOO‘(‘FOO‘, ‘BAR‘
2.const 接受一个静态的标量类型(number,string,true.false,null,__FILE__,......),反之,defind()接受任何表达式。
但是,自PHP 5.6以后常量表达式也被允许在const中使用:
BIT_5 = 1 << 5; (‘BIT_5‘, 1 << 5);
3.const 接受一个plain(?不知道翻译成啥,就是常量名称固定的意思)常量名,然而,defind()接受任何表达式作为常量名
( = 0; < 32; ++(‘BIT_‘ . , 1 <<
4.const 定义的常量名是区分大小写的,define()允许你不区分大小写,只要将第三个参数传递true即可..
(‘FOO‘,‘BAR‘,
echo FOO; //BAR echo foo; //BAR echo Foo; //BAR
以上就是const不好的一面,现在让我们看看除非发生以上的情况,我个人推荐使用const的理由.
1.const 易读,是一个语言结构,不是一个方法,也可以在类中使用定义常量
2.const 可以在当前命名空间定义常量,但是define()不得不传递完整的命名空间名称。(一个可以是相对的,一个必须是绝对的)
FOO = ‘BAR‘(‘A\B\C\FOO‘, ‘BAR‘);
3.const 自PHP 5.6定义常量值可以使用数组,然而define()不支持数组,但是在PHP 7 将支持这一个特性.
FOO = [1, 2, 3]; (‘FOO‘, [1, 2, 3]);
4.const 是语言结构,被定义在编译时,define()定义在运行时,const 比defind()快
5. 最后一点,const可以在类中定义常量,而 define()不可以.
BAR = 2; (‘QUX‘, 2); }
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号