運算子
運算子操作或作用於一個(一元運算子,如 !$a 和++$a),兩個(二元運算子,如 $a + $b 或 $a >> $b)或三個(唯一的三元運算子是 $a ? $b : $c)表示式。
運算子優先順序會影響運算子的分組方式(就像有括號一樣)。以下是按優先順序排列的運算子列表(第二列中的運算子)。如果多個運算子在一行中,則分組由程式碼順序確定,其中第一列指示關聯性(請參閱示例)。
| 協會 | 操作者 |
|---|---|
| 剩下 | -> :: |
| 沒有 | clone new |
| 剩下 | [ |
| 對 | ** |
| 對 | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ |
| 沒有 | instanceof |
| 對 | ! |
| 剩下 | * / % |
| 剩下 | + - . |
| 剩下 | << >> |
| 沒有 | < <= > >= |
| 沒有 | == != === !== <> <=> |
| 剩下 | & |
| 剩下 | ^ |
| 剩下 | | |
| 剩下 | && |
| 剩下 | || |
| 對 | ?? |
| 剩下 | ? : |
| 對 | = += -= *= **= /= .= %= &=` |
| 剩下 | and |
| 剩下 | xor |
| 剩下 | or |
完整資訊在 Stack Overflow 。
請注意,始終首先評估函式和語言結構(例如 print),但將根據上述優先順序/關聯性規則使用任何返回值。如果省略語言構造之後的括號,則需要特別小心。例如 echo 2 . print 3 + 4; echo 的 721:print 部分評估 3 + 4,列印結果 7 並返回 1。之後,2 被迴應,與 print(1)的返回值連線在一起。