php中const與define有什麼差別?
1、函數define在PHP4和PHP5中均可使用,而const只能在PHP 5.3.0及其後的版本中使用;
2、const定義的常數是在編譯時定義的,而函數define是在執行時定義的。
區別詳細
const是在編譯階段定義常數,define是在預處理階段定義常數
const在編譯階段就定義了常數,定義常數時必須處於最頂端的作用區域。
所以不能再if等條件語句中定義。
define定義常數,又叫巨集定義,巨集可以描述為根據一系列預先定義的規則取代一定的文字模式。
define可以在分支中存在。
理論上,使用const處理速度比define會快一點點。
const只接受標量數據,(如integer, string, boolean和float等);define可以接受任意表達式
define('BIT_5', 1<<5); constBIT_5 = 1<<5; //5.6之后才有效 从php 5.6起,const也可以接受数组和表达式 define可以接受resource类型,const不行 const常量名只能是简单字符,define可以是任意表达式 constSTR = 'string'; $i = 1; define("STR_" . $i, STR); const大小写敏感,define可以通过第三个传参控制大小写敏感。
推薦教程:《PHP》
以上是php中const與define有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!