它們定一個一個變數有什麼區別?
define('SOMETHING', true);andconst SOMETHING = true;
效能方面或者其它?
回複內容:
它們定一個一個變數有什麼區別?
define('SOMETHING', true);andconst SOMETHING = true;
效能方面或者其它?
百度就可以解決的問題, 樓主沒有自學精神嗎?
【問】在php中定義常量時,const與define的區別? 【答】使用const使得代碼簡單易讀,const本身就是一個語言結構,而define是一個函數。另外const在編譯時間要比define快很多。(1).const用於類成員變數的定義,一經定義,不可修改。define不可用於類成員變數的定義,可用於全域常量。(2).const可在類中使用,define不能。(3).const不能在條件陳述式中定義常量。例如: if (...){ const FOO = 'BAR'; // 無效的invalid } 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 define('BIT_5', 1 << 5); // 有效valid(6).const定義的常量時大小寫敏感的,而define可通過第三個參數(為true表示大小寫不敏感)來指定大小寫是否敏感。例如: define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR
出自: PHP常量詳解:define和const的區別