解析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 相关文章推荐
php注入实例
Oct 09 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
PHP开发中四种查询返回结果分析
Jan 02 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 PHP
Linux下安装PHP MSSQL扩展教程
Oct 24 PHP
php获取系统变量方法小结
May 29 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
thinkphp3.2实现上传图片的控制器方法
Apr 28 PHP
PHP数据库处理封装类实例
Dec 24 PHP
根据key删除数组中指定的元素实现方法
Mar 02 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
Apr 01 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
php curl选项列表(超详细)
2013/07/01 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
JS 自动安装exe程序
2008/11/30 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
小程序封装wx.request请求并创建接口管理文件的实现
2019/04/29 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
vue使用websocket的方法实例分析
2019/06/22 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
python实现图片批量剪切示例
2014/03/25 Python
python实现数通设备端口监控示例
2014/04/02 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
wxPython实现绘图小例子
2019/11/19 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
anaconda3安装及jupyter环境配置全教程
2020/08/24 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
机关出纳岗位职责
2014/04/03 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
80后婚前协议书范本
2014/10/24 职场文书
城管个人总结
2015/02/28 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
mysql 获取相邻数据项
2022/05/11 MySQL
关于MySQL中explain工具的使用
2023/05/08 MySQL