區別說明
1.const是一種語言結構,define()是一個函數,const編譯比define()快。
2、define()宣告常數,常數名稱是字串類型,可以動態拼接,可以用表達式命名,const只能用普通常量名。
const關鍵字定義的常數區分大小寫,define()函數可以透過第三個參數來決定是否區分大小寫。
實例
<?php // 常數// 常數的定義與使用// 定義方法1:define()函數define("CON_INT", 100); echo CON_INT; // 將此常數的使用定義為可以不區分大小寫define("GREETING", "hello world", true); // 對此此種用法,系統會給予不建議使用的提醒echo GREETING; echo Greeting; echo "<br/>"; // 定義方法2:const關鍵字定義const FOO = 'BAR'; for($i = 0; $i <32 ; ++$i){ define('YDMA_'.$i, 1 + $i); } echo YDMA_16; // const不能在條件語句中定義常數/* if(true){ const FOO0 = 'BAR'; // 無效} if(true){ define('FOO0', 'BAR'); // 有效} */ // 取得常數的值:constant()函數echo "<br/>"; define("VAR0", "888"); echo constant("VAR0"); echo "<br/>"; const CONSTANT0 = 'test contant'; echo constant("CONSTANT0"); // 取得所有已經定義的常數列表echo "<pre>"; print_r(get_defined_constants()); // 取得本腳本中所有可以存取的常數,輸出一個超長的陣列
以上就是php定義常數方法的差別,希望對大家有幫助。