加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 06:23:40 所属栏目:PHP教程 来源:网络整理
导读:1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。 2、define不能在类中定义而const可以。 3、const不能在条件语句中定义常量 div class="codetitle" a style="CURSOR: pointer" data="14207" class="copybu

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快很多。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读