常量語法
- 使用define()來定義常量,5.3之後,可以使用const;
- 和使用 define() 來定義常量相反的是,使用 const 關鍵字定義常量必須處於最頂端的作用區域,因爲用此方法是在編譯時定義的。這就意味着不能在函數內,循環內以及 if 語句之內用 const 來定義常量。
- 常量只能包含標量數據,可以定義resource常量,但結果不可預料;
常量和變量有如下不同:
- 常量前面沒有美元符號($);
- 常量只能用 define() 函數定義,而不能通過賦值語句;
- 常量可以不用理會變量的作用域而在任何地方定義和訪問;
- 常量一旦定義就不能被重新定義或者取消定義;
- 常量的值只能是標量。
常見的魔術常量:LINE, FILE, DIR, FUNCTION, CLASS, TRAIT, METHOD, NAMESPACE
運算符優先級
- 運算符優先級指定了兩個表達式綁定得有多"緊密";
- 如果運算符優先級相同,那運算符的結合方向決定了該如何運算;
- 沒有結合的相同優先級的運算符不能連在一起使用;
- 括號的使用,哪怕在不是必要的場合下,通過括號的配對來明確標明運算順序,而非靠運算符優先級和結合性來決定,通常能夠增加代碼的可讀性;
- 最高優先級爲clone和new,最低是or;
算術運算符
- $a ** $b: b級階乘;
賦值運算
對象是引用賦值,其他都是傳值賦值
位運算符
運算符:& | ^ ~ << >>