Operator-Rangfolge
Die Operator-Rangfolge legt fest, wie "eng" ein Operator zwei
Ausdrücke miteinander verbindet. Zum Beispiel ist das Ergebnis des
Ausdruckes 1 + 5 * 3 16
und nicht 18, da der Multiplikations-Operator
("*") in der Rangfolge höher steht als der Additions-Operator
("+"). Wenn nötig, können Sie Klammern setzen, um die Rangfolge
der Operatoren zu beeinflussen. Zum Beispiel: (1 + 5) *
3 ergibt 18.
Die folgende Tabelle zeigt die Rangfolge der Operatoren, oben
steht der Operator mit dem niedrigsten Rang.
Tabelle 10-1. Operator-Rangfolge
| Associativity | Operator |
|---|
| links | , |
| links | or |
| links | xor |
| links | and |
| rechts | print |
| rechts |
= += -= *= /= .= %= &= |= ^= <<= >>=
|
| links | ? : |
| links | || |
| links | && |
| links | | |
| links | ^ |
| links | & |
| keine Richtung | == != === |
| keine Richtung | < <= > >= |
| links | << >> |
| links | + - . |
| links | * / % |
| rechts |
! ~ ++ -- (int) (float) (string) (array) (object) @
|
| rechts | [ |
| keine Richtung | new |
Anmerkung:
Obwohl ! einen höheren Rang gegenüber
= hat, erlaubt es Ihnen PHP immer noch
ähnliche Ausdrücke wie den folgenden zu schreiben: if
(!$a =foo()).In diesem Ausdruck wird die Ausgabe von
foo() der Variablen $a
zugewiesen.