解析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下将XML转换为数组
Jan 01 PHP
在PHP中使用反射技术的架构插件使用说明
May 18 PHP
php设计模式之命令模式的应用详解
May 21 PHP
php实现递归抓取网页类实例
Apr 03 PHP
php代码架构的八点注意事项
Jan 25 PHP
php字符串操作针对负值的判断分析
Jul 28 PHP
php获取当前url地址的方法小结
Jan 10 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
PHP unset函数原理及使用方法解析
Aug 14 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代码
2010/02/16 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
2017/01/30 PHP
PHP7多线程搭建教程
2017/04/21 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
js location.replace与location.reload的区别
2010/09/08 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
js对象的复制继承实例
2015/01/10 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
python爬虫超时的处理的实例
2018/12/19 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
房地产促销活动方案
2014/03/01 职场文书
教师党员个人剖析材料
2014/09/29 职场文书
故宫英文导游词
2015/01/31 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
初一英语教学反思
2016/02/15 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书