解析php中const与define的应用区别

yipeiwu_com7年前PHP代码库
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的cms

1、MuCMS一个小型,平台独立的内容管理系统适用于非交互式网站(网站只发布信息)。它对系统要求非常低,只需要Apache+PHP。没有使用数据库。它具有安全,快速,易用等特点。官方网站...

php新建文件自动编号的思路与实现

要求:在系统中 在新建文件是可以实现自动编号。比如新建文本文件 默认文件名是:新建 文本文档.txt,如果继续新建时文件名自动变了:新建 文本文档 (2).txt, 以后就是 3,4,5...

PHP简单获取网站百度搜索和搜狗搜索收录量的方法

PHP简单获取网站百度搜索和搜狗搜索收录量的方法

本文实例讲述了PHP简单获取网站百度搜索和搜狗搜索收录量的方法。分享给大家供大家参考,具体如下: 获取网站百度搜索和搜狗搜索的收录量代码,可以用于获取网站域名在搜索引擎的收录数量,一直想...

收集的二十一个实用便利的PHP函数代码

PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点。这里收集了 21 段实用便捷的 PHP 代码摘录,对每种类型的...

php模拟post上传图片实现代码

php模拟post上传图片实现代码

本文实例为大家分享了php模拟post上传图片的具体代码,供大家参考,具体内容如下 服务器和客户端都是php语言 但是客户端不是网页,不在浏览器上运行,而是在命令行运行 现在要做的是在客...