摘要:定義的常量在當前的命名空間中,而要定義執行的命名空間,必須寫出具體命名空間。定義常量,又叫宏定義,宏可以描述為根據一系列預定義的規則替換一定的文本模式。另外幾個問題和定義的常量數組是否能改變其中的元素能否用來檢查定義的常量宏
php定義常量的方式有兩種define和const,兩者有什么區別?
const CONSTANCE = "const"; define("CONSTANCE", "const");const關鍵字從php 5.3以后可以在類定義之外定義常量
const可以在類內部定義,而define不行。
const定義的常量在當前的命名空間中,而define要定義執行的命名空間,必須寫出具體命名空間。
class Foo { const BAR = 2; } class Foo2 { define("BAR", 3); //無效的 } //命名空間的示例 namespace A{ const A1 = 1; //處在命名空間A中 define("A2", 2); //全局可調用 define("AA3", 3); //處在命名空間A中 } namespace B{ use const AA1; use const AA3; echo A1; echo A2; //全局調用 echo A3; }const是在編譯階段定義常量,define是在預處理階段定義常量
const在編譯階段就定義了常量,定義常量時必須處于最頂端的作用區域。
所以不能再if等條件語句中定義。
define定義常量,又叫宏定義,宏可以描述為根據一系列預定義的規則替換一定的文本模式。
define可以在分支中存在。
理論上,使用const處理速度比define會快一點點。
const只接受標量數據,(如integer, string, boolean和float等);define可以接受任意表達式define("BIT_5", 1<<5); const BIT_5 = 1<<5; //5.6之后才有效
從php 5.6起,const也可以接受數組和表達式const常量名只能是簡單字符,define可以是任意表達式
define可以接受resource類型,const不行
const STR = "string"; $i = 1; define("STR_" . $i, STR);
const大小寫敏感,define可以通過第三個傳參控制大小寫敏感。
另外幾個問題const和define定義的常量數組是否能改變其中的元素?
能否用defined來檢查const定義的常量?
define vs const
宏
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29894.html
摘要:前言項目地址如果有想要增加的特性,歡迎更新,然后。環境大致結論許多情況下下的特性表現相對更好。 前言 項目 github 地址:https://github.com/DavidCai1993/ES6-benchmark 如果有想要增加的特性 benchmark ,歡迎更新benchmarks/ ,然后 PR 。 環境 CPU: Intel Core(TM) i5-2410M 2.30...
摘要:根據調查,自年一來,是最流行的編程語言。在一個函數體中聲明的變量和函數,周圍的作用域內無法訪問。也就是說被大括號包圍起來的區域聲明的變量外部將不可訪問。一個常見的誤解是使用聲明的變量,其值不可更改。 譯者按: 總結了大量JavaScript基本知識點,很有用! 原文: The Definitive JavaScript Handbook for your next developer ...
摘要:發布插件插件開發完后就可以發布了,需要安裝安裝完后,需要去注冊并生成一個??偨Y本文介紹了插件開發的基本流程,實現了一個簡單的插件。更多的開發技巧,可以看這個系列的第二篇插件開發介紹二 前言 前段時間做了一個基于命令行的效率工具,可以自動生成組件的模板代碼。自己用起來還覺得挺好,但在組內案例幾次后大家都不愿意用,究其原因還是命令行工具使用起來門檻有點高,不方便。由于組內已經統一使用VS ...
閱讀 683·2021-11-22 09:34
閱讀 3822·2021-09-22 15:42
閱讀 1327·2021-09-03 10:28
閱讀 1072·2021-08-26 14:13
閱讀 1901·2019-08-29 15:41
閱讀 1423·2019-08-29 14:12
閱讀 3364·2019-08-26 18:36
閱讀 3307·2019-08-26 13:47