PHP语言学习之php中 const 与define()的区别 ,选择
小标 2019-04-03 来源 : 阅读 1010 评论 0

摘要:本文主要向大家介绍了PHP语言学习之php中 const 与define()的区别 ,选择,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言学习之php中 const 与define()的区别 ,选择,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

PHP语言学习之php中 const 与define()的区别 ,选择

相同点: 两者都可以定义常量


  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频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程