解析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
ajax php 实现写入数据库
Sep 02 PHP
php实现httpclient类示例
Apr 08 PHP
PHP中怎样防止SQL注入分析
Oct 23 PHP
php去除数组中重复数据
Nov 18 PHP
PHP+MySQL修改记录的方法
Jan 21 PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
thinkphp下MySQL数据库读写分离代码剖析
Apr 18 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 PHP
PHP模型Model类封装数据库操作示例
Mar 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
PHP array_push 数组函数
2009/12/26 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
浅析js中取绝对值的2种方法
2013/07/09 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
python实现飞机大战
2018/09/11 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
大学新闻系应届生求职信
2014/06/02 职场文书
中学生检讨书范文
2014/11/03 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
初婚初育证明范本
2014/11/24 职场文书
个园导游词
2015/02/04 职场文书
红白喜事主持词
2015/07/06 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
python开发制作好看的时钟效果
2022/05/02 Python