Operatoren
Inhaltsverzeichnis
Ein Operator ist etwas das Sie mit einem oder mehreren Werten füttern (oder
Ausdrücken, um im Programmierjargon zu sprechen) und Sie erhalten als
Ergebnis einen anderen Wert (damit wird diese Konstruktion selbst zu einem
Ausdruck). Als Eselsbrücke können Sie sich Operatoren als Funktionen oder
Konstrukte vorstellen, die Ihnen einen Wert zurück liefern (ähnlich print)
und alles, was Ihnen keinen Wert zurück liefert (ähnlich echo) als irgend
etwas Anderes.
Es gibt drei Arten von Opratoren. Als erstes gibt es den unären Operator,
der nur mit einem Wert umgehen kann, zum Beispiel ! (der
Verneinungsoperator) oder ++ (der Inkrementoperator). Die zweite Gruppe
sind die sogenannten binären Operatoren; diese Gruppe enthält die meisten
Operatoren, die PHP unterstützt. Eine Liste dieser Operatoren finden Sie
weiter unten im Abschnitt
Operator-Rangfolge
.
Die dritte Gruppe bildet der ternäre Operator : ?:. Dieser sollte eher
benutzt werden um abhängig von einem dritten Ausdruck eine Auswahl zwischen
zwei Ausdrücken zu treffen, als zwischen zwei Sätzen oder Pfaden der
Programmausführung zu wählen. Übrigens ist es eine sehr gute Idee ternäre
Ausdrücke in Klammern zu setzen.
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 ergibt: (1 + 5) *
3 18. Ist die Rangfolge der Operatoren gleich,
wird links nach rechts Assoziativität benutzt.
Die folgende Tabelle zeigt die Rangfolge der Operatoren, oben
steht der Operator mit dem höchsten Rang.
Operator-Rangfolge
| Assoziativität |
Operator |
| keine Richtung |
new |
| rechts |
[ |
| rechts |
! ~ ++ -- (int) (float) (string) (array) (object) @
|
| links |
* / % |
| links |
+ - . |
| links |
<< >> |
| keine Richtung |
< <= > >= |
| keine Richtung |
== != === !== |
| links |
& |
| links |
^ |
| links |
| |
| links |
&& |
| links |
|| |
| links |
? : |
| rechts |
= += -= *= /= .= %= &= |= ^= <<= >>=
|
| rechts |
print |
| links |
and |
| links |
xor |
| links |
or |
| links |
, |
Hinweis:
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.