解析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&amp;&amp;mysql)一
Oct 09 PHP
自动生成文章摘要的代码[PHP 版本]
Mar 20 PHP
PHP静态新闻列表自动生成代码
Jun 14 PHP
php数组去重实例及分析
Nov 26 PHP
php获得用户ip地址的比较不错的方法
Feb 08 PHP
php根据某字段对多维数组进行排序的方法
Mar 07 PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
PHP重定向与伪静态区别
Feb 19 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
PHP实现上传图片到数据库并显示输出的方法
May 31 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 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
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
基于Python中求和函数sum的用法详解
2018/06/28 Python
Python对excel文档的操作方法详解
2018/12/10 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
基于python的列表list和集合set操作
2019/11/24 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
学年自我鉴定范文
2013/10/01 职场文书
道路建设实施方案
2014/03/18 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
个人授权委托书模板
2014/09/14 职场文书
2014年班级工作总结
2014/11/14 职场文书
2015年项目工作总结
2015/04/29 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
Vue2.0搭建脚手架
2022/03/13 Vue.js
Nginx配置使用详解
2022/07/07 Servers