首頁  >  文章  >  後端開發  >  php常數,常數的語法分析

php常數,常數的語法分析

墨辰丷
墨辰丷原創
2018-06-06 15:56:551047瀏覽

本篇主要介紹php常數,常數的語法分析,有興趣的朋友參考下,希望對大家有幫助。

一、常數

常數是一個簡單值的識別碼(名字)。如同其名稱所暗示的,在腳本執行期間該值不能改變(除了所謂的魔術常數,它們其實不是常數)。常量預設為大小寫敏感。依照慣例常數標識符總是大寫的。
常數名稱和其它任何 PHP 標籤遵循相同的命名規則。合法的常量名稱以字母或底線開始,後面跟著任何字母,數字或底線。用正規表示式是這樣表示的
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff] * (註: 在這裡,字母是a-z,A-Z,以及從127 到255(0x7f-0xff)的ASCII 字元)
和super globals 一樣,常數的範圍是全域的。不用管作用域就可以在腳本的任何地方存取常數。有關作用得更多資訊請閱讀手冊中的變數範圍。

二、語法
可以用 define() 函數來定義常數。一個常數一旦被定義,在程式執行的過程中就不能再改變或取消定義。
常數只能包含標量資料(boolean,integer,float 和 string)。
可以簡單的透過指定其名字來取得常數的值,不要在常數前面加上 $ 符號。如果常數名稱是動態的,也可以用函數 constant() 來讀取常數的值。用get_defined_constants() 可以得到所有已定義的常數列表。
註: 常數和(全域)變數在不同的名字空間。這意味著例如 TRUE 和 $TRUE 是不同的。
如果使用了一個未定義的常數,PHP 假定你想要的是該常數本身的名字,如同你用字串呼叫它一樣(CONSTANT 對應 "CONSTANT")。此時將發出一個 E_NOTICE 等級的錯誤。請參閱手冊中為什麼 $foo[bar] 是錯誤的(除非你事先用 define() 將 bar 定義為一個常數)。如果你只想檢查是否定義了某一常數,用 defined() 函數。

三、常數和變數的不同
常數前面沒有美元符號($);
常數只能用define() 函數定義,而不能透過賦值語句;
常數可以不用理會變數範圍的規則而在任何地方定義和存取;
常數一旦定義就不能被重新定義或取消定義;
常數的值只能是標量。
常數定義範例:

<?php 
define("CONSTANT", "Hello world."); 
echo CONSTANT; // outputs "Hello world." 
echo Constant; // outputs "Constant" and issues a notice. 
?>

四、預先定義常數PHP 向它執行的任何腳本提供了大量的預定義常數。不過很多常數都是由不同的擴充函式庫定義的,只有在載入了這些擴充函式庫時才會出現,或是動態載入後,或是在編譯時已經包含進去了。
有四個魔術常數會根據它們使用的位置而改變。例如 __LINE__ 的值就依賴它在腳本中所處的行來決定。這些特殊的常數不區分大小寫,如下:
幾個 PHP 的「魔術常數」__LINE__ 檔案中的目前行號。
__FILE__ 檔案的完整路徑和檔案名稱。
__FUNCTION__ 函數名稱 (這是 PHP 4.3.0 新加的)。
__CLASS__ 類別的名稱(這是 PHP 4.3.0 新加的)。
__METHOD__ 類別的方法名稱(這是 PHP 5.0.0 新加的)。

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

相關推薦:

PHP中Restful api 實作錯誤提示回傳值的方法

基於PHP繪製網站登入首頁圖片驗證碼的方法

php建構方法中析構方法在繼承中的表現圖文詳解

以上是php常數,常數的語法分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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