4.5 Operatoren in PHP
Die meisten Operatoren werden Ihnen bekannt vorkommen. Achten Sie also auf die Operatoren, die PHP-spezifisch oder neu für Sie sind.
Hier erhalten Sie eine tabellarische Übersicht über die Operatoren. Vergleichen Sie diese Operatoren mit den Ihnen bekannten Operatoren aus der von Ihnen meistgenutzten Programmiersprache.
Allgemeine Operatoren
Operator | Beschreibung |
---|---|
. |
String-Verkettungsoperator |
= |
Zuweisungsoperator |
Rechenoperatoren
Operator | Beschreibung |
---|---|
+ |
Addition |
- |
Subtraktion |
* |
Multiplikation |
** |
Potentieren |
/ |
Division |
% |
Modulo; Ergibt den Rest einer Ganzzahligen Division |
Der Operator "+" funktioniert auch für Arrays (als Array-Operator). Er "addiert" die Arrays indem er sie hintereinander hängt.
Kombinierte Zuweisungsoperatoren
Operator | Beschreibung |
---|---|
+= |
Addiert neuen Wert zum alten Wert. |
-= |
Zieht neuen Wert vom alten Wert ab. |
/= |
Teilt alten Wert durch den neuen Wert. |
*= |
Multipliziert alten und neuen Wert. |
%= |
Modulo vom alten und neuen Wert. |
.= |
Schreibt neuen Wert anhängend an den alten Wert. |
Inkrement- und Dekrement-Operatoren
Operator | Beschreibung |
---|---|
$digit++ |
Erhöht $digit um 1 |
$digit-- |
Verringert $digit um 1 |
++$digit |
Erhöht $digit um 1, welche sofort auf die Variable geschrieben wird |
--$digit |
Verringert $digit um 1, welche sofort von der Variablen abgezogen wird |
Vergleichsoperatoren
Operator | Beschreibung |
---|---|
== |
Prüft, ob Inhalt der Variablen gleich ist (ungeachtet des Typs) |
!= |
Prüft, ob Inhalt der Variablen ungleich ist (ungeachtet des Typs) |
=== |
Prüft, ob Inhalt sowie Typ der Variablen gleich ist |
!== |
Prüft, ob Inhalt oder Typ der Variablen ungleich ist |
> |
Größer als… |
< |
Kleiner als… |
>= |
Größer oder gleich… |
<= |
Kleiner oder gleich… |
Logische Operatoren
UND
Operator | Beschreibung |
---|---|
&& |
und-Verknüpfung z.B. $a && $b (&& hat Vorrang vor and) |
and |
und-Verknüpfung z.B. $a and $b |
ODER
Operator | Beschreibung |
---|---|
|| |
oder-Verknüpfung z.B. $a || $b (|| hat Vorrang vor or) |
or |
oder-Verknüpfung z.B. $a or $b |
Weitere logische Operatoren
Operator | Beschreibung |
---|---|
xor |
entweder-oder (aber nicht beide) z.B. $a xor $b |
! |
nicht-Operator z.B. !$a |
Beispiel für die Reihenfolge
In diesem Beispiel ist die Rangfolge entscheidend. In der ersten Zeile ergibt die Gleichung ($a und $b) oder $c
, während die zweite Zeile $a und ($b oder $c)
meint. &&
ist somit höherrangiger als and
, und ||
höherrangiger als or
.
Merke: Zeichen (&&
, ||
) sind höherrangiger als Worte (und
, oder
).
Bitweise Operatoren
Bitweise Operatoren in PHP ermöglichen die direkte Manipulation der einzelnen Bits innerhalb der Binärdarstellung von Zahlen. Hier eine verständlichere Erläuterung ihrer Funktionen als Tabelle:
Operator | Beschreibung |
---|---|
~ |
Negation: kehrt alle Bits um: aus 0 wird 1 und umgekehrt. |
& |
Setzt ein Bit, wenn es in beiden Operanden gesetzt ist. |
| |
Setzt ein Bit, wenn es in mindestens einem Operanden gesetzt ist. |
^ |
Setzt ein Bit, wenn es in genau einem der beiden Operanden gesetzt ist. |
>> |
Verschiebt Bits nach rechts, was der Division durch 2 entspricht. |
<< |
Verschiebt Bits nach links, was der Multiplikation mit 2 entspricht. |
Diese Operatoren sind nützlich für Aufgaben, die eine direkte Kontrolle über die Binärdaten einer Zahl erfordern, wie zum Beispiel in der Kryptographie oder Datenkompression.
Hinweis
Auch ein @
gilt als Operator. Er dient dazu, Fehler zu unterdrücken und dabei das Programm nicht abzubrechen. Das @
muss vor der Funktion stehen, die ausgeführt werden soll: z.B. @readfile("DATEI")
.
Beispiele für Operatoren
In diesem Unterkapitel sehen Sie zwei Beispiele für den Einsatz von Operatoren.
Beispiel 1
Ausgabe:
5 Männer und 4 Frauen sitzen im Seminarraum.
Die Frauen sind im 4. Semester
und 3 Männer sind im 6. Semester.
Beispiel 2a
Ausgabe (wie wir es erwarten):
$a
und $b
sind nicht gleich!
$a
und $b
sind nicht identisch!
Beispiel 2b
Ausgabe (so erwarten wir es nicht):
$a
und $b
sind gleich!
$a
und $b
sind nicht identisch!
Diese Beispiele demonstrieren den Unterschied zwischen Gleichheit (==
) und Identität (===
) in PHP, was besonders wichtig ist, wenn mit verschiedenen Datentypen gearbeitet wird.
Konvertierung zwischen Variablendeklarationen
Vorsicht mit der Variablendeklaration und if
-Abfragen.
Beispiel 3
Die Variable $var
wird durch direkte Zuweisung als Text deklariert. Die Bedingung wird nicht durchlaufen, da der String 0 nicht dem String text
entspricht.
Beispiel 4
Hier wird die Bedingung durchlaufen, da eine implizite Umwandlung des Strings in eine Zahl vorgenommen wird, damit der Vergleich stattfinden kann. Der String erhält während der Umwandlung den Wert NULL
und somit ist die Bedingung erfüllt. Auch bei $var == 0
wird dem String die Variable zugewiesen. Wenn wir also in unserem String eine Zahl hätten, würde die Bedingung nicht durchlaufen!
Zur Lösung des Problems sollte man den Vergleichsoperator ===
verwenden, der auch den Typ der Variablen vergleicht, anstatt den Vergleichsoperator ==
zu nutzen, der nur die Werte vergleicht.