解析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控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
PHP与MySQL开发中页面乱码的产生与解决
Mar 27 PHP
简单的移动设备检测PHP脚本代码
Feb 19 PHP
PHP在线生成二维码代码(google api)
Jun 03 PHP
PHP输出XML到页面的3种方法详解
Jun 06 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
PHP中使用php://input处理相同name值的表单数据
Feb 03 PHP
php中PDO方式实现数据库的增删改查
May 17 PHP
提高php编程效率技巧
Aug 13 PHP
PHP Callable强制指定回调类型的方法
Aug 30 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 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
浅谈apache和nginx的rewrite的区别
2013/02/22 PHP
php中执行系统命令的方法
2015/03/21 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
python使用生成器实现可迭代对象
2018/03/20 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
家长评语大全
2014/01/22 职场文书
情人节单身感言
2015/08/03 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
canvas多重阴影发光效果实现
2021/04/20 Javascript