首頁 >後端開發 >PHP問題 >php中const和define有什麼差別

php中const和define有什麼差別

王林
王林原創
2021-09-06 15:29:492971瀏覽

php中const和define的差別有:const是語言結構,define是函數;const可以在類別中使用,define不可以;const不能在條件分支中使用,define可以。

php中const和define有什麼差別

本文操作環境:windows10系統、php 7、thinkpad t480電腦。

我們知道在PHP中一共有兩種定義常數的方式,分別是const和define。那麼很多初學者在使用const和define的過程中可能會產生一個疑問,它們兩個在使用上有什麼區別呢?

下面我們一起來看看兩者的差異:

const是一種語言結構,而define是一個函數。

const可以在類別中使用,而define不可以。在PHP5.3以前,const只能在類別中使用,而PHP5.3開始在類別外也可以使用。

const不能在條件分支中使用,而define可以。

const只能用普通的常數名稱,define可以使用表達式。

const在PHP5.6之前只接受靜態的標量,從PHP5.6開始可以使用表達式,define可以使用表達式。

const定義的常數是大小寫敏感的,而define可以透過第三個參數來指定是否大小寫敏感(true不敏感;false敏感,預設為false)。

const定義常數時考慮命名空間,而define不會。簡單來說就是const可以在不同的命名空間下定義同名的常數,而define則不行。

常數可以透過常數名直接訪問,也可以透過constant()函數訪問,透過get_defined_constants()可以獲得所有已定義的常數。

推薦學習:php培訓

以上是php中const和define有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn