我們經常把不經常變的值定義成常量,常量一般用全部大寫來表示,前面不加美元符號,那麼define和const有什麼區別呢?
常量是乙個簡單的識別符號。在指令碼執行期間該值不能改變(除了所謂的魔術常量,他們其實不是常量)。常量預設大小寫敏感。通常常量識別符號總是大寫的。
可以用define()函式來定義常量。在php5.3.0以後,可以使用const關鍵字在類定義的外部定義常量,php7可以定義陣列常量了,先前版本const關鍵字只能在類(class)中使用。乙個常量一旦被定義,就不能再改變或取消定義。
<?php常量和變數有如下不同://以下**在 php 5.3.0 後可以正常工作
const username = '周伯通';
echo username.php_eol
;echo
constant("username");
const zhouusername = '周伯通九陰真經';
define('myusername','周伯通九陰真經2');
echo "";
print_r(get_defined_constants
());
?>
1、const是乙個語言結構;而define是乙個函式,可以通過第三個引數來指定是否區分大小寫。true表示大小寫不敏感,預設為false
2、const簡單易讀,編譯時要比define快很多。
3、const可在類中使用,用於類成員常量定義,定義後不可修改;define不能在類中使用,可用於全域性變數
<?php4、const是在編譯時定義,因此必須處於最頂端的作用區域,不能在函式,迴圈及if條件中使用;而define是函式,也就是能呼叫函式的地方都可以使用class
myclass
}$class = new
myclass();
$class->showconstant();
<?php$x = true
;if ($x==1)
if ($x==1)
const和define的區別以及const的優點
1 就起作用的階段而言 define是在編譯的預處理階段起作用 在預處理階段進行替換 而const是在編譯執行的時候起作用 const修飾的唯讀變數是在編譯的時候確定其值 2 就起作用的方式而言 define只是簡單的字串替換,沒有型別檢查。而const有對應的型別,是要進行判斷的,可以避免一些低階...
php中define和const的區別
常量前面沒有美元符號 常量只能用define 函式或const定義,而不能通過賦值語句 常量可以不用理會變數的作用域而在任何地方定義和訪問 常量一旦定義就不能被重新定義或者取消定義 常量的值只能是標量。const的使用 define的使用 const用於類常量的定義 define不可以用於類常量的定...
PHP中define和defined的區別
php中define和defined的區別 對於初學者會混淆這兩個函式 1.define用來定義乙個常量,常量也是全域性範圍的。不用管作用域就可以在指令碼的任何地方訪問 常量。乙個常量一旦被定義,就不能再改變或者取消定義 如 define website www.phperz.com www.php...