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

前端之家收集整理的这篇文章主要介绍了解析php中const与define的应用区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。
2、define不能在类中定义而const可以。
3、const不能在条件语句中定义常量
<div class="codetitle"><a style="CURSOR: pointer" data="14207" class="copybut" id="copybut14207" onclick="doCopy('code14207')"> 代码如下:

<div class="codebody" id="code14207">
if (...) {
const FOO = 'BAR'; // invalid
}
but
if (...) {
define('FOO','BAR'); // valid
}

4、const采用一个普通的常量名称,define可以采用表达式作为名称
<div class="codetitle"><a style="CURSOR: pointer" data="5921" class="copybut" id="copybut5921" onclick="doCopy('code5921')"> 代码如下:
<div class="codebody" id="code5921">
const FOO = 'BAR';
for ($i = 0; $i < 32; ++$i) {
define('BIT_' . $i,1 << $i);
}

5、const只能接受静态的标量,而define可以采用任何表达式。
<div class="codetitle"><a style="CURSOR: pointer" data="83894" class="copybut" id="copybut83894" onclick="doCopy('code83894')"> 代码如下:
<div class="codebody" id="code83894">
const BIT_5 = 1 << 5; // invalid
but
define('BIT_5',1 << 5); // valid

6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量
<div class="codetitle"><a style="CURSOR: pointer" data="23415" class="copybut" id="copybut23415" onclick="doCopy('code23415')"> 代码如下:
<div class="codebody" id="code23415">
define('FOO','BAR',true);
echo FOO; // BAR
echo foo; // BAR

<FONT style="COLOR: #ff0000">总结:

使用const简单易读,它本身是一个语言结构,而define是一个方法,用const定义在编译时比define快很多。

constconstdefinedefinedefinephp

猜你在找的PHP相关文章