SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=119&group=24
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Konditionaloperator


Der Konditionaloperator (? :) ist der einzige Operator, welcher drei Operanden benötigt. Der erste steht vor dem ?, der zweite zwischen ? und :, und der dritte hinter dem :. Er wird übrigens auch als Bedingungsoperator bezeichnet, da man ihn für die Erzeugung einer einfachen if else-Anweisung nutzen kann.

(BEDINGUNG) ? AUSDRUCK1 : AUSDRUCK2;

Beispiel

<?
$kAlter = 10;

// if-else Umsetzung
if ($kAlter >= 18) {
  echo "Erwachsener";
} else {
  echo "Zu jung!";
}

// Konditionaloperator (?:) Umsetzung
($kAlter >= 18) ? print "Erwachsener" : print "Zu jung!";
?>

Da der Operator die Ausdrücke nicht nur ausführt, sondern auch die Ergebnisse der Ausdrücke zurückliefert, können Sie ihn auch dazu verwenden, einer Variablen, in Abhängigkeit von einer Bedingung, unterschiedliche Werte zuzuweisen.

Beispiel

// Initialisierung
$besuchName = "Matze";

$besuch = ($besuchName == "") ? "Hallo !" : "Hallo $besuchName";

echo $besuch; // Ausgabe: Hallo Matze

Hinweis: Die ?:-Syntax ist zwar sehr kurz und prägnant, sie ist aber auch relativ schwer zu lesen. Setzen Sie sie daher sparsam und nur in Fällen ein, wo sie leicht zu verstehen ist. Die Möglichkeit, komplexe Bedingungen aus mehreren Teilausdrücken zu verwenden, ist zwar gegeben, aber nicht ratsam.