define不可用于类成员变量的概念,定义类常量(类常量使用const定义卡塔尔国
分类:热门资源

1、const用于类成员变量定义,意气风发旦定义且无法退换其值。define定义全局常量,在此外地点都足以访谈。
2、define无法在类中定义而const能够。
3、const不可能在尺度语句中定义常量
复制代码 代码如下:
if (...) {
    const FOO = 'BAR';    // invalid
}
but
if (...) {
    define('FOO', 'BAR'); // valid
}

define()与const的区别:

为造成某一职能的一定的 最棒的 固定形式

【答】使用const使得代码轻便易读,const本人正是二个语言构造,而define是叁个函数。别的const在编译时要比define快相当多。

(1卡塔尔.const用于类成员变量的概念,生机勃勃经定义,不可更改。define不可用于类成员变量的定义,可用以全局常量。

(2State of Qatar.const可在类中应用,define不可能。

(3卡塔尔国.const不可能在尺度语句中定义常量。

例如: 

if (...){ 

  const FOO = 'BAR';  // 无效的invalid 

}  

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  

define('BIT_5', 1 << 5); // 有效的valid

(6卡塔尔国.const定义的常量时大小写敏感的,而define可因而第七个参数(为true表示大小写不灵敏)来内定大小写是还是不是敏感。

例如:

define('FOO', 'BAR', true);  

echo FOO; // BAR 

echo foo; // BAR

4、const接纳三个多如牛毛的常量名称,define可以利用表明式作为名称。
复制代码 代码如下:
const  FOO = 'BAR';
for ($i = 0; $i < 32; ++$i) {
    define('BIT_' . $i, 1 << $i);
}

define(State of Qatar 在实践期定义常量,而 const 在编写翻译期定义常量。那样 const 就有细微的进度优势(即质量稍稍好点卡塔尔,但不值得寻思这些题材,除非您在营造大高并发系统。

5、const只好肩负静态的标量,而define能够利用其余表明式。
复制代码 代码如下:
const BIT_5 = 1 << 5;    // invalid
but
define('BIT_5', 1 << 5); // valid

define(State of Qatar将常量归入全局作用域,即便在命名空间中利用define方法定义常量也归属全局成效域的。不能够使用 define(卡塔尔(قطر‎定义类常量(类常量使用const定义卡塔尔国,命名空间作用域内的常量使用const定义如: namespace const ABC=’100′;。

6、const 总是大小写敏感,可是define(卡塔尔可以因此第多少个参数来定义大小写不灵敏的常量
复制代码 代码如下:
define('FOO', 'BAR', true); 
echo FOO; // BAR
echo foo; // BAR

define(卡塔尔国 允许你在常量名和常量值中运用表明式,而 const 则都分裂意。 那使得 define(State of Qatar 越来越灵敏。
define(卡塔尔 能够在 if(卡塔尔国 代码块中调用,但 const 不行。

总结: 行使const轻便易读,它自身是二个语言构造,而define是贰个办法,用const定义在编写翻译时比define快超多。

在一如既往作用域下,define(卡塔尔常量名和const定义的常量名不能够相像.
const可以定义类常量和命名空间常量. 如

namespace abc; const ABC = ‘a’; class hello { const C_NUM = 8; }

 代码如下

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(State of Qatar能够透过第五个参数来定义大小写不灵动的常量

 代码如下

define('FOO', 'BAR', true);  www.111cn.net

echo FOO; // BAR
echo foo; // BAR

总结:
使用const轻巧易读,它自个儿是一个言语布局,而define是二个方法,用const定义在编译时比define快超多。

本文由威尼斯在线注册平台发布于热门资源,转载请注明出处:define不可用于类成员变量的概念,定义类常量(类常量使用const定义卡塔尔国

上一篇:基于xcache的配置与使用详解 下一篇:没有了
猜你喜欢
热门排行
精彩图文