码迷,mamicode.com
首页 > Web开发 > 详细

php中const与define的区别

时间:2017-07-05 00:30:46      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:结构   define   支持   不能   pre   简单   算术运算符   接收   函数定义   

1 版本差异:

const 要求php的版本》5.3.0

define 可以兼容php4,php5 等版本

 

2 定义的位置区别:

const关键字定义的常量是在编译时定义的,因此const关键字定义常量必须处于最顶端的作用区域

(意味着不能在函数内、循环内以及if语句之内用const来定义常量)

函数define()  定义的常量是在执行define()函数时定义的,因此可以在函数内、循环内、if语句内等函数能够被调用的任何地方使用define()函数定义常量

 

3 对值的表达式支持的差异:

const定义常量是在编译时定义的,因此const关键字定义的常量值的表达式中不支持算术运算符、位运算符、比较运算符等多种运算符

这些运算符在define()函数定义常量时都是可以直接使用的

define(‘DEFINE_VAR1‘, 1 << 1);
//const CONST_VAR1 = (1 << 1); //const不支持位运算符,PHP会报语法错误

 

4 对字符大小写敏感的支持差异:

const关键字定义常量 大小敏感

define()可以接收第3个参数,如果该参数为true,则表示常量名的大小写不敏感

define(‘SITE_NAME‘, ‘CodePlayer‘, true);
echo SITE_NAME; //输出:CodePlayer
echo site_name; //输出:CodePlayer
echo SiTe_NamE; //输出:CodePlayer

 

注:使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多

 

php中const与define的区别

标签:结构   define   支持   不能   pre   简单   算术运算符   接收   函数定义   

原文地址:http://www.cnblogs.com/sien6/p/7119092.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!