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快很多。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|