PHP Operatoren
In diesem Kapitel werden wir die Anwendung verschiedener Operatoren in PHP besprechen.
In PHP wird der Zuweisungsoperator=verwendet, um Variablen Werte zuzuweisen.
In PHP werden die arithmetischen Operatoren+verwendet, um Werte zu addieren.
PHP Arithmetische Operatoren
| Operator | Name | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|---|
| x + y | hinzufügen | Summe von x und y | 2 + 2 | 4 |
| x - y | subtrahieren | Differenz von x und y | 5 - 2 | 3 |
| x * y | multiply | Produkt von x und y | 5 * 2 | 10 |
| x / y | divide | Quotient von x und y | 15 / 5 | 3 |
| x % y | Modulus (Rest der Division) | Rest von x geteilt durch y | 5 % 2 10 % 8 10 % 2 |
1 2 0 |
| -x | Negativ setzen | Das entgegengesetzte Vorzeichen von x nehmen | <?php $x = 2; echo -$x; ?> |
-2 |
| ~x | Bitweises NICHT | Invertiere x, indem eine bitweise NICHT-Operation auf seine Binärbits angewendet wird. Die Regeln sind: ~1=-2; ~0=-1; |
<?php $x = 2; echo ~$x; ?> |
-3 |
| a . b | Verkettung | Verkettet zwei Zeichenketten | "Hi" . "Ha" | HiHa |
Die folgenden Beispiele zeigen die unterschiedlichen Ergebnisse, die mit verschiedenen arithmetischen Operatoren erzielt werden:
Beispiel
Selbst ausprobieren »
Die PHP7+-Version fügt einen Ganzzahldivisionsoperator hinzuintdiv(), diese Funktion gibt den Wert des ersten Parameters dividiert durch den zweiten Parameter zurück und rundet ihn ab (floor). Beispiel:
Beispiel
Das obige Beispiel gibt Folgendes aus:
int(3)
PHP-Zuweisungsoperatoren
In PHP ist der grundlegende Zuweisungsoperator=. Das bedeutet, dass der linke Operand auf den Wert des Ausdrucks auf der rechten Seite gesetzt wird. Das heißt,$x = 5der Wert ist 5.
| Operator | Äquivalent zu | Beschreibung |
|---|---|---|
| x = y | x = y | Der linke Operand wird auf den Wert des Ausdrucks auf der rechten Seite gesetzt |
| x += y | x = x + y | hinzufügen |
| x -= y | x = x - y | subtrahieren |
| x *= y | x = x * y | multiply |
| x /= y | x = x / y | divide |
| x %= y | x = x % y | Modulus (Rest der Division) |
| a .= b | a = a . b | Verkettet zwei Zeichenketten |
Die folgenden Beispiele zeigen die unterschiedlichen Ergebnisse, die mit verschiedenen Zuweisungsoperatoren erzielt werden:
Beispiel
Selbst ausprobieren »
Die folgenden Beispiele zeigen dieselben Ergebnisse, die mit verschiedenen String-Operatoren erzielt werden:
Beispiel
Selbst ausprobieren »
PHP-Inkrement-/Dekrement-Operatoren
| Operator | Name | Beschreibung |
|---|---|---|
| ++ x | Prä-Inkrement | Addiert 1 zu x und gibt dann x zurück |
| x ++ | Post-Inkrement | Gibt x zurück und addiert dann 1 zu x |
| -- x | Prä-Dekrement | Subtrahiert 1 von x und gibt dann x zurück |
| x -- | Post-Dekrement | Gibt x zurück und subtrahiert dann 1 von x |
Die folgenden Beispiele zeigen die Ergebnisse, die mit Inkrement-/Dekrement-Operatoren erzielt werden:
Beispiel
Selbst ausprobieren »
PHP-Vergleichsoperatoren
Mit Vergleichsoperatoren können Sie zwei Werte vergleichen:
| Operator | Name | Beschreibung | Beispiel |
|---|---|---|---|
| x == y | Equal | Gibt true zurück, wenn x gleich y ist | 5==8 gibt false zurück |
| x === y | Identisch | Gibt true zurück, wenn x gleich y ist und sie denselben Typ haben | 5==="5" gibt false zurück |
| x != y | Nicht gleich | Gibt true zurück, wenn x nicht gleich y ist | 5!=8 gibt true zurück |
| x <> y | Nicht gleich | Gibt true zurück, wenn x nicht gleich y ist | 5<>8 gibt true zurück |
| x !== y | Nicht identisch | Gibt true zurück, wenn x nicht gleich y ist oder wenn sie nicht denselben Typ haben | 5!=="5" gibt true zurück |
| x > y | Größer als | Gibt true zurück, wenn x größer als y ist | 5>8 gibt false zurück |
| x < y | Kleiner als | Gibt true zurück, wenn x kleiner als y ist | 5<8 gibt true zurück |
| x >= y | Größer als oder gleich | Gibt true zurück, wenn x größer oder gleich y ist | 5>=8 gibt false zurück |
| x <= y | Kleiner als oder gleich | Gibt true zurück, wenn x kleiner oder gleich y ist | 5<=8 gibt true zurück |
Die folgenden Beispiele zeigen die unterschiedlichen Ergebnisse, die mit einigen Vergleichsoperatoren erzielt werden:
Beispiel
Selbst ausprobieren »
Logische Operatoren in PHP
| Operator | Name | Beschreibung | Beispiel |
|---|---|---|---|
| x and y | und | Gibt true zurück, wenn sowohl x als auch y true sind | x=6 y=3 (x < 10 and y > 1) gibt true zurück |
| x or y | oder | Gibt true zurück, wenn mindestens eines von x und y true ist | x=6 y=3 (x==6 or y==5) gibt true zurück |
| x xor y | Xor | Gibt true zurück, wenn genau eines von x und y true ist | x=6 y=3 (x==6 xor y==3) gibt false zurück |
| x && y | und | Gibt true zurück, wenn sowohl x als auch y true sind | x=6 y=3 (x < 10 && y > 1) gibt true zurück |
| x || y | oder | Gibt true zurück, wenn mindestens eines von x und y true ist | x=6 y=3 (x==5 || y==5) gibt false zurück |
| ! x | not | Gibt true zurück, wenn x nicht true ist | x=6 y=3 !(x==y) gibt true zurück |
PHP-Array-Operatoren
| Operator | Name | Beschreibung |
|---|---|---|
| x + y | Vereinigung | Vereinigung von x und y |
| x == y | Gleichheit | Gibt true zurück, wenn x und y die gleichen Schlüssel/Wert-Paare haben |
| x === y | Identität | Gibt true zurück, wenn x und y dieselben Schlüssel/Wert-Paare in derselben Reihenfolge und vom selben Typ haben |
| x != y | Ungleichheit | Gibt true zurück, wenn x nicht gleich y ist |
| x <> y | Ungleichheit | Gibt true zurück, wenn x nicht gleich y ist |
| x !== y | Nicht-Identität | Gibt true zurück, wenn x nicht gleich y ist |
Die folgenden Beispiele zeigen die unterschiedlichen Ergebnisse, die mit einigen Array-Operatoren erzielt werden:
Beispiel
Selbst ausprobieren »
Ternär
Ein weiterer bedingter Operator ist der Operator "?:" (oder der ternäre Operator).
Syntaxformat
(expr1) ? (expr2) : (expr3)
Der Wert ist expr2, wenn expr1 zu TRUE ausgewertet wird, und expr3, wenn expr1 zu FALSE ausgewertet wird.
Seit PHP 5.3 kann der mittlere Teil des ternären Operators weggelassen werden. Der Ausdruck expr1 ?: expr3 gibt expr1 zurück, wenn expr1 zu TRUE ausgewertet wird, andernfalls gibt er expr3 zurück.
Beispiel
Im folgenden Beispiel wird durch Prüfen, ob die $_GET-Anfrage einen user-Wert enthält, $_GET['user'] zurückgegeben, falls vorhanden, andernfalls wird nobody zurückgegeben:
Beispiel
Hinweis:PHP_EOList ein Zeilenumbruchzeichen und mit mehr Plattformen kompatibel.
In PHP 7+-Versionen gibt es einen zusätzlichen NULL-Coalescing-Operator??, Beispiele sind wie folgt:
Beispiel
Kombinierter Vergleichsoperator (PHP7+)
PHP7+ unterstützt den kombinierten Vergleichsoperator, auch Spaceship-Operator genannt, mit dem Symbol:<=>. Der kombinierte Vergleichsoperator kann zwei Variablen einfach vergleichen, und natürlich ist er nicht auf den Vergleich numerischer Daten beschränkt.
Das Syntaxformat lautet wie folgt:
$c = $a <=> $b;
Die Auswertung ist wie folgt:
- Wenn $a > $b, dann$cder Wert von1。
- Wenn$a == $b, dann$cder Wert von0。
- Wenn$a < $b, dann$cder Wert von-1。
Beispiele sind wie folgt:
Beispiel
Operatorrangfolge
Die folgende Tabelle listet Operatoren in der Reihenfolge ihrer Priorität von hoch nach niedrig auf. Operatoren in derselben Zeile haben dieselbe Priorität; in diesem Fall bestimmt ihre Assoziativität die Reihenfolge der Auswertung.
Erklärung: Links = von links nach rechts, rechts = von rechts nach links.
| Assoziativität | Operator | Zusätzliche Informationen |
|---|---|---|
| Keine | clone new | clone and new |
| Left | [ | array() |
| Rechts | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | Typ- und Inkrement/Dekrement-Operatoren |
| Keine | instanceof | Type |
| Rechts | ! | Logische Operatoren |
| Left | * / % | Arithmetische Operatoren |
| Left | + – . | Arithmetische Operatoren und String-Operatoren |
| Left | << >> | Bitweise Operatoren |
| Keine | == != === !== <> | Vergleichsoperatoren |
| Left | & | Bitweise Operatoren und Referenzen |
| Left | ^ | Bitweise Operatoren |
| Left | | | Bitweise Operatoren |
| Left | && | Logische Operatoren |
| Left | || | Logische Operatoren |
| Left | ? : | Ternärer Operator |
| Rechts | = += -= *= /= .= %= &= |= ^= <<= >>= => | Zuweisungsoperatoren |
| Left | und | Logische Operatoren |
| Left | xor | Logische Operatoren |
| Left | oder | Logische Operatoren |
| Left | , | Wird an mehreren Stellen verwendet |
In der Operatorrangfolge sind or und ||, && und and alle logische Operatoren mit derselben Wirkung, aber ihre Rangfolge ist unterschiedlich.
Beispiel
Die Ausgabe der obigen Beispiele ist:
int(3) bool(true)
Verwendung von Klammern
Wir verwenden Klammerpaare, um die Reihenfolge der Operationen explizit anzugeben, anstatt uns auf Operatorrangfolge und Assoziativität zu verlassen, was normalerweise die Lesbarkeit des Codes erhöhen kann.
Beispiel
Die Ausgabe der obigen Beispiele ist:
7 9Weitere Erweiterungen