Tutorials
[ Zurück ]


Bedingte Zuweisung in PHP (ternärer Operator)


Die bedingte Zuweisung existiert in C (ternärer Operator) und wurde in vielen weiteren Programmiersprachen übernommen wie PHP, JS, Flash, Java ....

Allgemeiner Aufbau des ternären Operators:
<bedingung> ? <wert1 wenn true> : <wert2 wenn false>

Um diese Konstrukt genauer zu verstehen, werden wir bei der Initialisierung einer Variablen in PHP direkt einen Wert zuweisen.

Wird in PHP eine Variable initialisiert, wird dieser entweder eine leere Zeichenkette für Strings oder eine 0 für Integer zugewiesen:

// Initialisierung von Variablen verschiedener Datentypen
$value = "";
$value = 0;
$value = null;

Mit der bedingte Zuweisung hat man nun die Möglichkeit, Variablen einen Wert anhand einer Bedingung zuzuweisen:

$string = "hallo";
$zahl = 13;
$value = ($boolean) ? $string : $zahl; // Wenn $boolean true ist, dann wird $value der String "hallo" zugewiesen ansonsten 13.

Dies ist Äquivalent zu folgendem if-else Konstrukt:
if($boolean)
{
  $value = $string;
}
else
{
  $value = $zahl;
}



Eine weiter mögliche Anwendung ist eine zum Beispiel eine Vergleichsfunktion damit zu erstellen.
public function compareWith($a, $b)
{
  return ($a > $b) ? true : false; // Der resultierende Wert aus der Bedingung heraus kann so als Rückgabewert einer Variable zugewiesen werden.
}


Noch ein kleines Beispiel zur Erstellung von dynamischen Suchergebnissen. $i ist die Anzahl der gefundenen Beiträge.
<code>echo 'Sie haben '.$i.' '.($i == 1 ? 'Beitrag' : 'Beiträge').' gefunden';</code>



Die bedingte Zuweisung ist somit eine Kurzform zu if-else und hat zusätzlich einen "Rückgabewert". Bei kleineren Vergleichen und Zuweisungen ist eine bedingte Anweisung schneller zu tippen, jedoch ersetzt es keinesfalls eine if-else Verzweigung.
 

Erstellt:25.07.09 13:57
Autor: uriel

Letzte Änderung: 29.07.09 16:32
Geändert von: URIEL

Bewertungen:0
Bewertung:

Freigeschaltet: Ja
Views 3646

Klicke einfach auf einen Stern!
Wollen Sie wirklich das Tutorial löschen?
Wollen Sie wirklich dieses Tutorial zulassen?
Betreff: Report tutorial [id = 137] !
Absender:
Kommentar:
Wollen Sie wirklich dieses Tutorial zulassen?
Absender:
Kommentar:
Folgende User sind hier gerade aktiv:
-

ANZEIGE