1. 程式人生 > >PHP const 與 define的區別

PHP const 與 define的區別

1、const用於類成員變數定義,一旦定義且不能改變其值。define定義全域性常量,在任何地方都可以訪問。


2、define不能在類中定義而const可以。
 
3、const不能在條件語句中定義常量


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()可以通過第三個引數來定義大小寫不敏感的常量


define('FOO', 'BAR', true);  www.2cto.com
echo FOO; // BAR 
echo foo; // BAR 
總結:
使用const簡單易讀,它本身是一個語言結構,而define是一個方法,用const定義在編譯時比define快很多。