成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

define VS const

xiao7cn / 731人閱讀

摘要:定義的常量在當(dāng)前的命名空間中,而要定義執(zhí)行的命名空間,必須寫出具體命名空間。定義常量,又叫宏定義,宏可以描述為根據(jù)一系列預(yù)定義的規(guī)則替換一定的文本模式。另外幾個問題和定義的常量數(shù)組是否能改變其中的元素能否用來檢查定義的常量宏

php定義常量的方式有兩種defineconst,兩者有什么區(qū)別?

const CONSTANCE = "const";
define("CONSTANCE",  "const");
const關(guān)鍵字從php 5.3以后可以在類定義之外定義常量

const可以在類內(nèi)部定義,而define不行。
const定義的常量在當(dāng)前的命名空間中,而define要定義執(zhí)行的命名空間,必須寫出具體命名空間。

class Foo {
    const BAR = 2;
}


class Foo2 {
    define("BAR", 3); //無效的
}

//命名空間的示例
namespace A{
    const A1 = 1; //處在命名空間A中
    define("A2",  2); //全局可調(diào)用
    define("AA3", 3); //處在命名空間A中
}

namespace B{
    use const AA1;
    use const AA3;
    
    echo A1;
    echo A2; //全局調(diào)用
    echo A3;
}
const是在編譯階段定義常量,define是在預(yù)處理階段定義常量

const在編譯階段就定義了常量,定義常量時必須處于最頂端的作用區(qū)域。
所以不能再if等條件語句中定義。

define定義常量,又叫宏定義,可以描述為根據(jù)一系列預(yù)定義的規(guī)則替換一定的文本模式。
define可以在分支中存在。

理論上,使用const處理速度比define會快一點點。

const只接受標(biāo)量數(shù)據(jù),(如integer, string, boolean和float等);define可以接受任意表達(dá)式
define("BIT_5",   1<<5); 
const BIT_5 =     1<<5; //5.6之后才有效
從php 5.6起,const也可以接受數(shù)組和表達(dá)式
define可以接受resource類型,const不行
const常量名只能是簡單字符,define可以是任意表達(dá)式
const STR = "string";
$i = 1;
define("STR_" . $i,  STR);

const大小寫敏感,define可以通過第三個傳參控制大小寫敏感。

另外幾個問題

constdefine定義的常量數(shù)組是否能改變其中的元素?

能否用defined來檢查const定義的常量?

define vs const

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/29894.html

相關(guān)文章

  • 一些當(dāng)前 Node.js 中最流行 ES6 特性的 benchmark (V8 / Chakra)

    摘要:前言項目地址如果有想要增加的特性,歡迎更新,然后。環(huán)境大致結(jié)論許多情況下下的特性表現(xiàn)相對更好。 前言 項目 github 地址:https://github.com/DavidCai1993/ES6-benchmark 如果有想要增加的特性 benchmark ,歡迎更新benchmarks/ ,然后 PR 。 環(huán)境 CPU: Intel Core(TM) i5-2410M 2.30...

    ZHAO_ 評論0 收藏0
  • 快速掌握J(rèn)avaScript面試基礎(chǔ)知識(一)

    摘要:根據(jù)調(diào)查,自年一來,是最流行的編程語言。在一個函數(shù)體中聲明的變量和函數(shù),周圍的作用域內(nèi)無法訪問。也就是說被大括號包圍起來的區(qū)域聲明的變量外部將不可訪問。一個常見的誤解是使用聲明的變量,其值不可更改。 譯者按: 總結(jié)了大量JavaScript基本知識點,很有用! 原文: The Definitive JavaScript Handbook for your next developer ...

    acrazing 評論0 收藏0
  • VS Code插件開發(fā)介紹(一)

    摘要:發(fā)布插件插件開發(fā)完后就可以發(fā)布了,需要安裝安裝完后,需要去注冊并生成一個??偨Y(jié)本文介紹了插件開發(fā)的基本流程,實現(xiàn)了一個簡單的插件。更多的開發(fā)技巧,可以看這個系列的第二篇插件開發(fā)介紹二 前言 前段時間做了一個基于命令行的效率工具,可以自動生成組件的模板代碼。自己用起來還覺得挺好,但在組內(nèi)案例幾次后大家都不愿意用,究其原因還是命令行工具使用起來門檻有點高,不方便。由于組內(nèi)已經(jīng)統(tǒng)一使用VS ...

    thursday 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<