複習PHP-語言參考-常量
1.常量是一個簡單值的識別符號,在指令碼執行期間不可修改,全部大寫命名是個好習慣。
2.語法
一般用define定義,defined判斷是否存在
5.3以後可以用const定義(const一般用於類內部屬性的定義)
常量只能包含標量資料(int,bool,string,float)
當無法確定常量名稱時可用constant()獲取
如:
class a
{
const b = "test";
}
$a = 'b';
echo constant("a::".$a);
?>
注意:居然可以設定空字串為常量(這是BUG嗎)
注意:在新增名稱空間後,define和const的訪問形式將會不一樣
如:
namespace sub;
define("ABC","DEF");
const DEF="abc";
class foo {
const BAR = 'Hello World';
}
constant('ABC'); // works
//constant('subABC'); // not works
//constant('DEF'); // not works
constant('subDEF'); // works
//constant('foo::BAR'); // not works
constant('subfoo::BAR'); // works
?>
所以由此可證明:define出來的常量是全域性的,而const出來的常量是區域性的,這就是它們之間的區別。
get_defined_constants可獲取所有常量組成的陣列
3.魔術常量
大量魔術常量是隨著擴充套件庫而定義的,下面列舉一些隨程式碼位置改變而改變的常量:
__LINE__:檔案中的當前行號
__FILE__:檔案的完整路徑(如果用在被包含的檔案中,則顯示被包含的檔名)
__DIR__:檔案所在目錄(如果用在被包含的檔案中,則顯示被包含的目錄),等價於dirname(__FILE__),這兩個都可以用於絕對路徑的判斷依據
__FUNCTION__:返回該函式的名稱
__CLASS__:返回該類的名稱
__TRAIT__:返回Trait的名稱(Trait是新的一種繼承類似類,目前感覺還沒有什麼大用處)
__METHOD:返回類的方法名(與__FUNCTION__的區別在於他的形式是類名::方法名)
__NAMESPACE__:返回當前名稱空間的名稱
擴充套件:get_class可以返回物件的類名
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/855/viewspace-2802099/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 複習PHP-語言參考-預定義變數PHP變數
- go 語言常量Go
- Solidity語言學習筆記————4、常量Solid筆記
- c語言複習C語言
- GO語言————4.3常量Go
- 2021年考博英語複習攻略!
- 關於C語言的常量C語言
- C語言期末複習資料C語言
- 程式語言對比手冊(橫向版)[-PHP-]PHP
- PHP-認識一下系統常量PHP
- 開心檔之Go 語言常量Go
- C語言進階[2]:字串常量C語言字串
- C語言 形參和實參C語言
- 考研:C語言複習筆記 [Hex Note]C語言筆記
- PHP基本語法學習 常量PHP
- PHP基本語法學習 [常量]PHP
- protobuf 語法,proto3 語法參考
- JavaScript-快速語法參考-全-JavaScript
- C語言-變數常量資料型別C語言變數資料型別
- ai學習參考路線AI
- Vue學習(四)元件(參考)Vue元件
- APEX學習資料參考
- Go語言學習(6) - 資料型別轉換和常量以及iotaGo資料型別
- 大工盤錦2018年度C語言/VB作業參考解答集合C語言
- C++複習考點C++
- 學習Python語言為什麼要參加培訓?Python
- 神經網路學習參考神經網路
- 基於 go 語言開發部署的部落格 免費開源供參考Go
- TIDB 考試 參考TiDB
- Cplex求解教程(基於OPL語言,可作為大規模運算輸入參考)
- C語言的考試題型C語言
- 嵌入式學習參考資料
- vue學習資源(參考連結)Vue
- OSI參考模型和TCP/IP參考模型模型TCP
- HQYJ嵌入式學習筆記——C語言複習day1筆記C語言
- HQYJ嵌入式學習筆記——C語言複習day2筆記C語言
- Go語言複製檔案Go
- javamail參考JavaAI