二者都是定義常量,有什麼區別呢?緩存
const CONSTANT = 'aa'
在PHP5.3.0之後,能夠使用const關鍵字在類定義以外定義常量。函數
使用const關鍵字定義常量必須處於最頂端的做用區域,由於用此方法是在編譯時定義的。這就意味着不能在函數內,循環內以及if語句以內用const來定義常量。code
define (string $name, mixed $value, [bool $case_insensitive=false]) :bool
在運行時定義一個常量,在PHP5中value必須是標量,在PHP7中還容許是個array的值。string
$case_insensitive若是設置爲true,該常量則大小寫不敏感。it
大小寫不敏感的常量以小寫的方式儲存。編譯
Note: 編譯是指PHP語言通過zend引擎編譯成opcode,opcode能夠經過apc等方式緩存;