PHP Blog

Den ternären Operator in PHP einsetzen

Mit dem ternären Operator können wir einfache Kontrollstrukturen stark abkürzen. Wir zeigen Ihnen hier die Syntax dazu.

Stefan 10.02.2019

Infos zum Artikel

Kategorie PHP
Autor Stefan
Datum 10.02.2019

Schnelles Code-Beispiel:

$name = $punkte > 100 ? "Flash Gordon" : "Ming";

Tutorial

Der ternäre Operator erleichtert uns die Arbeit mit Verzweigungsstrukturen.

Mit dem ternären Operator können wir eine einfache if else-Konstruktion deutlich abkürzen. Wir müssen dann nicht mehr Folgendes schreiben:

$punkte = 200;

if($punkte > 100){
    $name = "Flash Gordon";
}
else{
    $name = "Ming";
}

Sondern können das Ganze mit einer einzigen Zeile und folgender Schreibweise abkürzen:

$name = $punkte > 100 ? "Flash Gordon" : "Ming";

Wir lesen das dann so: Wenn der Wert der Variablen $punkte größer als 100 ist, dann weise der Variablen $name den Wert "Flash Gordon" zu. Andernfalls weise der Variablen $name den Wert "Ming" zu.

Was bedeutet "ternär"?

"Ternär" bedeutet aus drei Grundeinheiten bestehend und so verfügt der ternäre Operator ? : drei Operanden. Die allgemeine Syntax sieht so aus:

PHP ternärer Operator Schaubild

Ist die Bedinung true, wird der Code zwischen ? und : ausgeführt. Ist sie dagegen false, wird der Code nach dem : ausgeführt.

Einfache Verzweigungen mit dem ternären Operator zu lösen, spart im Alltag viel nervige Schreibarbeit. Auch wenn es am Anfang etwas gewöhnungsbedürftig ist.

Kleine Übung

Testen Sie mit folgender Aufgabe, ob Sie das Prinzip auch wirklich verstanden haben.

Welchen Wert, meinen Sie, hat die Variable $y am Ende des Code-Snippets?

$x = 5;
$y = $x > 2 ? $x < 4 ? 10 : 8 : 7;

Die Lösung lautet 8. Es handelt sich hier um eine Verschachtelung des ternären Operators. Etwas fies, ja. Aber damit muss man umgehen können.

Konstruktoren bei Vererbung

Trainieren Sie ihre Konstruktoren-Skills

Vererbung einfach erklärt

Lernen Sie die Grundlagen der Vererbung in Java

Die Klasse Object

Erfahren Sie alles über die Mutter aller Klassen

FALCONBYTE.NET

Handmade with 🖤️

© 2018, 2019 Stefan E. Heller

Impressum | Datenschutz

facebook programmieren lernen twitter programmieren lernen youtube programmieren lernen