有三種類型的運算符。第一種是一元運算符,只運算一個值,例如 !(取反運算符)或 ++(加一運算符)。第二種是有限二元運算符,PHP 支持的大多數運算符都是這種。列表見下節 運算符優先級 。
第三種是三元運算符:?:。它應該被用來根據一個表達式在另兩個表達式中選擇一個,而不是用來在兩個語句或者程序路線中選擇。把整個三元表達式放在擴號裡是個很好的主意。
運算符優先級運算符優先級指定了兩個表達式綁定得有多“緊密”。例如,表達式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(“*”)的優先級比加號(“+”)高。必要時可以用括號來強制改變優先級。例如: (1 + 5) * 3 的值為 18 。如果運算符優先級相同,則使用從左到右的左聯順序。
下表從高到低列出了運算符的優先級。同一行中的運算符具有相同優先級,此時它們的結合方向決定求值順序。
表格 15-1. 運算符優先級