Jetzt anmelden...

Login
Passwort
Registrieren

PHP Tutorial #4

PHP Operatoren Übersicht

PHP basiert wie die meisten Programmiersprachen in erster Linie auf einem logischen Zusammenspiel von Variablen, Anweisungen und Operatoren. In diesem Kapitel erklären wir das Thema Operatoren genauer.

Kommentare [0]

Stefan 25.09.2018

Infos zum Artikel

Kategorie PHP
Autor Stefan
Datum 25.09.2018

Thema in Kurzform

  • Operatoren werden in der Programmierung genutzt, um einzelne Operanden miteinander zu verrechnen oder zu vergleichen.
  • Außerdem gibt es logische Operatoren, die auf kombinierte boolesche Ausdrücke angewandt werden und prüfen, ob der Gesamtausdruck true oder false ist.

Zuweisungsoperator

Den ersten Operator, nämlich den einfachen Zuweisungsoperator ( = ) haben wir bereits kennengelernt.

Das = Zeichen muss hier von demjenigen aus der Mathematik unterschieden werden. Denn in der Mathematik drückt das Zeichen = ein „ist gleich“-Verhältnis aus. So bedeutet etwa 7+3 = 10, dass die linke und rechte Seite den gleichen Wert haben.

In der Programmierung ist das grundlegend anders. Hier nämlich ist das = Zeichen der Zuweisungsoperator, das heißt, dass dem Operand links vom = Zeichen der Wert der rechten Seite zugewiesen wird. Zum Beispiel:

$variable1 = 100;
$variable2 = 200;
$variable1 = $variable2; // 200

Wir haben in jeder Zeile eine Zuweisung: Zunächst werden in Zeile 1 und 2 den Variablen $variable1 und $variable2 die Werte 100 bzw. 200 zugewiesen. Anschließend erfolgt in Zeile 3 abermals eine Zuweisung, indem $variable2 $variable1 zugewiesen wird. Damit erhält $variable1 denselben Wert wie $variable2 (beide 200).

Operatoren für die vier Grundrechenarten

Wir kennen diese (hoffentlich!) bereits seit der Grundschule und sie sollten uns keine größeren Schwierigkeiten bereiten:

  • Addition +
  • Subtraktion -
  • Multiplikation *
  • Division /

Wir verechnen im folgenden Beispiel die Werte zweier Variablen gemäß den vier Grundrechenarten miteinander und speichern die Ergebnisse in jeweils neuen Variablen:

$zahl1 = 13;
$zahl2 = 4;

$addition = $zahl1 + $zahl2; // 17
$subtr = $zahl1 - $zahl2; // 9
$multi = $zahl1 * $zahl2; // 52
$div = $zahl1 / $zahl2; // 3.25

Modulo und Potenz

Daneben gibt es zwei weitere Operatoren, die wir nicht ganz so häufig benötigen, die aber dennoch sehr wichtig sind:

  • Modulo: %
  • Potenz: **

Der Modulo-Operator wird verwendet, um den Rest einer Division zu ermitteln. So ist das Ergebnis von 10 % 6 (gelesen: "10 Modulo 6") 4, denn 10 geteilt durch 6 ist 1, Rest: 4. Der Potenz-Operator funktioniert, indem wir zwei Sternchen zwischen die Basis und die Potenzzahl setzen. 5 hoch 2 wird in PHP also mit 5 ** 2 ausgedrückt.

Sehen wir uns zu den beiden Operatoren jeweils ein weiteres Beispiel an:

$zahl1 = 13;
$zahl2 = 4;

// Modulo:
$mod = $zahl1 % $zahl2; // 1

// Potenz:
$pot = $zahl1 ** $zahl2; // 28561

Der Verkettungsoperator

Um zwei Strings miteinander zu verbinden, können wir als Verkettungsoperator den Punkt ( . ) einsetzen. So verbinden wir beispielsweise den String "Hallo" mit "Welt!" zu "HalloWelt!". Wenn wir beide Wörter auch noch, wie es sich gehört, mit einem Leerzeichen trennen wollen, also "Hallo Welt!", verketten wir dazwischen einfach nochmal mit einem Leerzeichen " ":

$wort1 = "Hallo";
$wort2 = "Welt";
$verkettung = $wort1 . " " . $wort2;
echo $verkettung; //Bildschirmausgabe "Hallo Welt!"

Kombinierte Operatoren

Wir denken uns folgende Situation: Wir möchten den Wert einer Variable vom Datentyp Integer um, sagen wir... 5 erhöhen. Wir können dann standardmäßig so vorgehen:

$zahl = 3;
$zahl = $zahl + 5;

Wir haben hier der Variablen $zahl einen neuen Wert zugewiesen und zwar 8. Dies ergibt sich aus der Addition des alten Werts von $zahl (also 3) mit dem Wert 5. Anschließend folgt die Zuweisung von 8 an die Variable.

Kann man so machen. Es geht aber auch eleganter und kürzer, nämlich so:

$zahl = 3;
$zahl += 5; // 8

Wir erledigen exakt dasselbe wie mit $zahl = $zahl + 5, nur dass wir uns Schreibarbeit sparen. Wir lassen die zu verändernde Variable auf der rechten Seite einfach weg und schreiben stattdessen den gewünschten Operator (in diesem Fall +) vor den Zuweisungsoperator. Das läuft mit den anderen Operatoren genauso:

$subtraktion = 10;
$multiplikation = 2;
$division = 21;
$modulo = 13;
$potenz = 3;
$verkettung = "Hallo ";

//kombinierte Operatoren:
$subtraktion -= 4; // 6
$multiplikation *= 10; // 40
$division /= 3; // 7
$modulo %= 10; // 3
$potenz **= 2; // 9
$verkettung .= "Welt!"; // "Hallo Welt!"

Inkrement und Dekrement-Operatoren

Zwei noch, dann sind wir durch! Angenommen, wir möchten den Wert einer Variablen vom Typ Integer (Ganzzahl) um exakt den Wert von 1 erhöhen oder verringern. Wir könnten dies, das wissen Sie, so lösen:

$zahl = 1;
$zahl = $zahl + 1; // 2
$zahl = $zahl - 1; // 1

Oder kürzer, indem wir den kombinierten Operator für Addition bzw. Subtraktion verwenden:

$zahl = 1;
$zahl += 1; // 2
$zahl -= 1; // 1

"Noch kürzer geht nicht", sagen Sie? Dann sollten Sie schnellstens Bekanntschaft mit den Inkrement- und Dekrement-Operatoren machen:

$zahl = 1;
$zahl++ ; // 2
$zahl-- ; // 1

Da das Hoch- bzw. Runterzählen um jeweils den Wert von 1 in der Programmierung so häufig vorkommt, wurden die beiden Operatoren ++ bzw. -- geschaffen. Sie werden uns in vielen Programmierprojekten äußerst hilfreich sein und die Arbeit erleichtern. Sie sollten sich die beiden merken!

Vergleichsoperatoren

Die Vergleichsoperatoren vergleichen zwei Operanden miteinander und liefern als Ergebnis einen booleschen Wert (true oder false) zurück. Diese Operatoren werden sehr häufig in if-else-Kontrollstrukturen und Schleifen eingesetzt.

Vergleichsoperatoren
> größer Liefert true, wenn $a größer ist als $b $a > $b
< kleiner Liefert true, wenn $a kleiner ist als $b $a < $b
>= größer/gleich Liefert true, wenn $a größer oder gleich groß ist wie $b $a >= $b
<= kleiner/gleich Liefert true, wenn $a kleiner oder gleich groß ist wie $b $a <= $b
== gleich zu Liefert true, wenn $a den gleichen Wert hat wie $b $a == $b
!= nicht gleich zu Liefert true, wenn $a nicht den gleichen Wert hat wie $b $a != $b

Die Operatoren in ein paar Beispielen:

$a = 5;
$b = 10;

echo $a > $b;
echo $a < $b;  // 1 (true)
echo $a >= $b;
echo $a <= $b; // 1 (true)
echo $a == $b;
echo $a != $b; // 1 (true)

In diesen Beispielen haben wir arithmetische Werte miteinander vergleichen. Häufig werden aber auch booleschen Werte gegenübergestellt. Ein Vergleich zweier Booleans läuft natürlich nur mit den beiden Operatoren == und !=. Ein kleines Beispiel:

$a = true;
$b = false;

echo $a == $b;
echo $a != $b; // 1 (true)

Logische Operatoren

Die logischen Operatoren, wie wir sie in der Tabelle sehen, werden auf boolesche Ausdrücke angewandt.

Logische Operatoren
&& UND Liefert true, wenn beide Operanden true sind $a && $b
|| ODER Liefert true, wenn mindestens einer der Operanden true ist $a || $b
! logisches NICHT Invertiert den Wahrheitswert eines Operanden !$a

Wir erzeugen zum Testen zunächst einige Variablen mit booleschen Werten und benutzen dann nacheinander die Operatoren &&, || und !. Dabei platzieren wir die Operatoren, wie gewohnt, zwischen jeweils zwei Variablen (die Operanden). Hier der Code:

$b1 = true;
$b2 = false;

echo $b1 && $b2;
echo $b1 || $b2; // 1 (true)
echo !$b2;

Wie wir sehen ergibt $b1 && $b2 false, da nicht beide Operanden true sind.

$b1 || $b2 dagegen ergibt true (und damit wird 1 am Bildschirm angezeigt), denn einer der beiden Operanden ist true.

!$b1 ergibt true (also 1 auf dem Bildschirm), da der ursprüngliche Wert von $b2 (false) zu true umgekehrt wird.

Kommentar schreiben

Nur angemeldete und aktivierte Benutzer können kommentieren.

Alle Kommentare

Es gibt bislang noch keine Kommentare zu diesem Thema.

Typhinweise in PHP

Seit der PHP Version 7 ist es möglich, Parameter und Rückgabewerte strikt zu kontrollieren.

Verzweigungen

Ohne Verzweigungen wäre kaum ein sinnvolles Programm möglich.

PHP einrichten

Erfahren Sie, wie einfach es ist, PHP auf unserem lokalen System startklar zu machen.

FALCONBYTE.NET

Handmade with 🖤️

© 2018, 2019 Stefan E. Heller

Impressum | Datenschutz

facebook programmieren lernen twitter programmieren lernen youtube programmieren lernen