Operatoren

Operatoren werden verwendet, um Operanden miteinander zu verbinden.

Wir kennen alle noch das klassische Beispiel aus unseren frühen Schuljahren.

Operanden und Operator

Ein Operator arbeitet mit einem, zwei oder drei Operanden. Am häufigsten werden wir aber auf den Fall der 2 Operanden treffen, wie wir ihn bereits von der Variablendeklaration kennen. Dabei haben wir bereits den Zuweisungsoperator (=) kennengelernt.


Arithmetische Operatoren

Bei arithmetischen Operatoren handelt es sich um die Grundrechenarten Addition, Subtraktion, Multiplikation und Division, hinzu kommt der sogenannte Modulo-Operator.

Addition

$a = 8;
$b = 5;
$add = $a + $b;
echo $add;
Subtraktion

$a = 8;
$b = 5;
$sub = $a - $b;
echo $sub;
Multiplikation

$a = 8;
$b = 5;
$mul = $a * $b;
echo $mul;
Division

$a = 8;
$b = 5;
$div = $a / $b;
echo $div;

Arithmetische Operator können nur auf Zahlen angewendet werden. Neben den 4 bereits vorgestellten Operatoren, die jedem bekannt sein sollten, gibt es noch den Modulo-Operator, der den ganzzahligen Rest einer Division angibt. Geschrieben wird er mit dem Prozentzeichen (%).

Modulo

$a = 8;
$b = 5;
$mod = $a % $b;
echo $mod;

Dividiert man 8 durch 5 bleibt ein Rest von 3. Das ist die Ausgabe des Modulo-Operators.

Operator Beispiel Beschreibung
+ 8 + 5   // 13 Addition zweier Zahlen
- 8 - 5   // 3 Subtraktion zweier Zahlen
* 8 * 5   // 40 Multiplikation zweier Zahlen
/ 8 / 5   // 1.6 Division zweier Zahlen
+ 8 % 5   // 3 Ganzzahliger Rest einer Division

Kurzform

Um den Wert einer Variablen zu verändern, können wir folgende Deklarationen schreiben:

Kurzschreibweise für arithmetische Operatoren

$zahl = 7;
$zahl = $zahl + 2;
echo $zahl;

Es gibt aber auch eine noch kürzere Schreibweise.

Noch kürzere Schreibweise für arithmetische Operatoren

$zahl = 7;
$zahl += 2;
echo $zahl;

Diese Kurzschreibweise gibt es für alle arithmetischen Operatoren. Als Ausgangsvariable "$zahl" nehmen wir wieder die Zahl 7.

Operator Beispiel Beschreibung
+= $zahl += 3   // 11 Addition zweier Zahlen
-= $zahl -= 3   // 4 Subtraktion zweier Zahlen
*= $zahl *= 3   // 21 Multiplikation zweier Zahlen
/= $zahl /= 3   // 2.33333 Division zweier Zahlen
%= $zahl %= 3   // 1 Ganzzahliger Rest einer Division

Inkrement und Dekrement

Inkrement erhöht den Wert der Variable um 1, während beim Dekrement der Wert um 1 verringert wird. Dazu wird die Schreibweise "++" für Inkrement und "--" für Dekrement verwendet.

Inkrementoperator

$zahl = 7;
$zahl ++;
echo $zahl;
Dekrementoperator

$zahl = 7;
$zahl --;
echo $zahl;

Exponential-Operator

Für Exponentialrechnungen wird der Exponential-Operator verwendet. Geschrieben wird er mit dem doppelten Multiplikationszeichen: "**".

Exponentialoperator

$zahl = 2;
$exp = 3;
$erg = $zahl ** $exp;
echo $erg;

Vergleichsoperatoren

Um in PHP Werte miteinander zu vergleichen, verwenden wir die Vergleichsoperatoren. Der Rückgabewert solcher Vergleiche ist ein boolescher Wert, "true" (Wahr) oder "false" (Falsch). PHP liefert den Rückgabewert als Zahl. Wenn der Vergleich "true" (Wahr) ist, erhalten wir "1" zurück. Wenn der Vergleich "false" (Falsch) ist, erhalten wir als Rückgabewert die "0".

Operanden und Operator
Vergleichsoperator

$vergleich = 4 < 6;
echo $vergleich;
Hinweis

Wenn das Ergebnis eines solchen Vergleichs über "echo" ausgegeben werden sollen, erhalten wir für "true" die "1", für "false" wird aber nicht die "0" ausgegeben.

PHP kennt folgende Vergleichsoperatoren:

Operator Beispiel Beschreibung
> 4 > 2   // true Größer als
< 4 < 2   // false Kleiner als
>= 4 >= 4   // true Größer gleich
<= 4 <= 4   // true Kleiner gleich
== 4 == 2   // false Gleichheit
!= 4 != 2   // true Ungleichheit
<> 4 <> 2   // true Ungleichheit
<=> 2 <=> 4   // true Spaceship Operator

Der Spaceship-Operator hat seinen Namen seiner Form zu verdanken. Er vergleicht auf kleiner, größer und gleich. Dabei liefert er je nach Ergebnis: -1 für kleiner, 0 für gleich und 1 für größer zurück.

Hinweis

Bei Verwendung des Operators für Gleichheit ist zwingend erforderlich, darauf zu achten, dass es sich um das doppelte Gleichheitszeichen handelt. Wenn für den Vergleich an dieser Stelle nur ein Gleichheitszeichen verwendet wird, so interpretiert PHP nicht den Vergleich, sondern eine Wertzuweisung, wie wir sie von der Variablendeklaration kennen. PHP wirft hier keinen Fehler. Allerdings kann es dadurch zu Fehler an anderer Stelle des Programmes kommen.


Genaue Gleichheit und Ungleichheit

Wenn die Vergleichsoperatoren für Gleichheit und Ungleichheit um ein Gleichheitszeichen verlängert werden, so werden daraus die genaue Gleichheit und die genaue Ungleichheit. Nun wird auch der Datentyp mit überprüft.

Gleichheit (==)

$wert1 = 5;
$wert2 = "5";
$erg = $wert1 == $wert2;
echo $erg;
Genaue Gleichheit (===)

$wert1 = 5;
$wert2 = "5";
$erg = $wert1 === $wert2;
echo $erg;

Mit dem Ausrufezeichen vor den Gleichheitszeichen erreichen wir die Negation. Also das Prüfen auf Ungleichheit und genaue Ungleichheit.

Ungleichheit (!=)

$wert1 = 5;
$wert2 = "5";
$erg = $wert1 != $wert2;
echo $erg;
Genaue Ungleichheit (!==)

$wert1 = 5;
$wert2 = "5";
$erg = $wert1 === $wert2;
echo $erg;

Logische Operatoren

Durch den Vergleich mit den Vergleichsoperatoren erhalten wir einen Wahrheitswert. Wenn wir jetzt aber mehrere solcher Vergleiche verbinden wollen, verwenden wir die logischen Operatoren.

Operanden und Operator

Am Beispiel wird der logische Operator UND ("&&") gezeigt. Das Ergebnis dieses Vergleichs liefert nur dann "true", wenn beide Operanden "true" sind. Ansonsten ist das Ergebnis "false".

Operator Beispiel Beschreibung
&& / AND 6 > 4 && 2 < 3   // true Logisches UND. Liefert true wenn beide Operanden true sind.
|| / OR 6 < 4 || 3 < 5   // true Logisches ODER. Liefert true wenn mindestens einer der beiden Operatoren true ist.
XOR 6 > 4 xor 3 < 5   // false Logisches ENTWEDER ODER. Liefert nur true wenn einer der beiden Operanden true ist. Liefert false wenn keiner oder beide Operanden true sind.
! !false   // true Negation. Kehrt den Wahrheitswert um. Aus true wird false und aus false wird true.

Konditionaler Operator

Der konditionale Operator wählt zwischen 2 Ausdrücke. Wenn die Bedingung eintritt, wird Ausdruck 1 verwendet, ansonsten wird Ausdruck 2 verwendet.

Konditionaler Operator

$a = 5;
$erg = $a < 6 ? "kleiner" : "größer";
echo $erg;

Weiter mit Programmablauf