解析php中const与define的应用区别


Posted in PHP onJune 18, 2013

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);  
echo FOO; // BAR 
echo foo; // BAR

总结:
使用const简单易读,它本身是一个语言结构,而define是一个方法,用const定义在编译时比define快很多。
PHP 相关文章推荐
图形数字验证代码
Oct 09 PHP
一次编写,随处运行
Oct 09 PHP
php error_log 函数的使用
Apr 13 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
Aug 09 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
安装docker和docker-compose实例详解
Jul 30 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
PHP二维数组分页2种实现方法解析
Jul 09 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 #PHP
解析php中memcache的应用
Jun 18 #PHP
PHP实现的封装验证码类详解
Jun 18 #PHP
php empty()与isset()区别的详细介绍
Jun 17 #PHP
php include和require的区别深入解析
Jun 17 #PHP
浅析php header 跳转
Jun 17 #PHP
解析php中heredoc的使用方法
Jun 17 #PHP
You might like
初品cakephp 入门基础
2012/02/16 PHP
php学习笔记之面向对象
2014/11/08 PHP
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
jQuery 生成svg矢量二维码
2016/08/09 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
VsCode新建VueJs项目的详细步骤
2017/09/23 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
Python中文字符串截取问题
2015/06/15 Python
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
利用Tkinter(python3.6)实现一个简单计算器
2017/12/21 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
目标管理责任书
2014/04/15 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
党员剖析材料范文
2014/09/30 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
党员公开承诺书(2016最新版)
2016/03/24 职场文书
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers