章 15. 運算符運算符是可以通過給出的一或多個值(用寫程式行話來說,表達式)來產生另一個值(因而整個結構成為一個表達式)的東西。所以可以認為函數或任何會返回一個值(例如 print)的結構是運算符,而那些沒有返回值的(例如 echo)是別的東西。 有三種類型的運算符。第一種是一元運算符,只運算一個值,例如 !(取反運算符)或 ++(加一運算符)。第二種是有限二元運算符,PHP 支援的大多數運算符都是這種。清單見下節運算符優先級。 第三種是三元運算符:?:。它應該被用來根據一個表達式在另兩個表達式中選取一個,而不是用來在兩個語句或是程式路線中選取。把整個三元表達式放在擴號裡是個很好的主意。 運算符優先級運算符優先級指定了兩個表達式綁定得有多「緊密」。例如,表達式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(「*」)的優先級比加號(「+」)高。必要時可以用括號來強制改變優先級。例如:(1 + 5) * 3 的值為 18。若果運算符優先級相同,則使用從左到右的左聯順序。 下表從高到低列出了運算符的優先級。同一行中的運算符具有相同優先級,此時它們的結合方向決定求值順序。 表格 15-1. 運算符優先級
左聯表示表達式從左向右求值,右聯相反。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||