新聞中心
區(qū)別:1、const用于類成員變量的定義,而define不可用于類成員變量的定義;2、const只接受靜態(tài)的標(biāo)量,而define可以采用任何表達(dá)式;3、const定義常量時(shí)大小寫敏感,但define可以通過第三個(gè)參數(shù)來指定大小寫是否敏感。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供東安網(wǎng)站建設(shè)、東安做網(wǎng)站、東安網(wǎng)站設(shè)計(jì)、東安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、東安企業(yè)網(wǎng)站模板建站服務(wù),10多年東安做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
常量默認(rèn)大小寫敏感,通常常量的標(biāo)識(shí)符總是大寫的。
可以用define()
函數(shù)來定義常量,在php5.3.0之后,可以使用const
關(guān)鍵字在類定義的外部定義常量,先前版本const關(guān)鍵字只能在類(class)中使用。
常量只能包含標(biāo)量數(shù)據(jù) (boolean,integer,float,string)。可以定義resource常量,但應(yīng)該盡量避免。
定義常量
define("PI", 3.14); echo PI; // 3.14 echo pi; // 輸出 "pi" 并發(fā)出一個(gè)Warning信息 // 以下代碼在 PHP 5.3.0 后可以正常工作 const RATE = 'Hello World'; echo RATE;
在PHP中定義常量時(shí),const與define的區(qū)別
1、const本身是一個(gè)語言結(jié)構(gòu),而define是一個(gè)函數(shù)。
2、const在編譯時(shí)要比define快很多
3、const用于類成員變量的定義,而define不可用于類成員變量的定義
4、const不能在條件語句中使用
if (...){ const FOO = 'BAR'; // 無效的 } if (...) { define('FOO', 'BAR'); // 有效的 }
5、const只接受靜態(tài)的標(biāo)量,而define可以采用任何表達(dá)式
const BIT_5 = 1 << 5; // 無效的 define('BIT_5', 1 << 5); // 有效的
6、const定義常量時(shí)大小寫敏感,但define可以通過第三個(gè)參數(shù)(為true表示大小寫不敏感)來指定大小寫是否敏感
define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR
動(dòng)態(tài)常量名
如果常量名是動(dòng)態(tài)的,也可以用函數(shù)constant()來獲取常量的值。用get_defined_contstants()可以獲得所有已定義的常量列表。
define('PI',3.14); $chang = 'PI'; echo $chang,'
'; // PI echo constant($chang); // 3.14
defined — 檢查某個(gè)名稱的常量是否存在
// 真實(shí)開發(fā)一般是這樣的 if(!defined('HEI')){ define('HEI',8846); }
分享文章:php中define和const的區(qū)別是什么?
轉(zhuǎn)載注明:http://www.ef60e0e.cn/article/cphsde.html