Der ternäre Operator in PHP
Nehmen wir an, wir haben den folgenden Code, der prüft,
ob der Benutzer bereits 18 Jahre alt ist oder nicht:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Wie Sie sehen, wird die if-else-Konstruktur
nur dafür benötigt, um einen bestimmten
Wert in die Variable $adult zu schreiben. Für
solche Aufgaben, bei denen in der Bedingung
nur der Wert einer Variable zugewiesen wird, gibt es
eine kürzere Lösung mittels des sogenannten
ternären Operators.
Seine Syntax sieht folgendermaßen aus:
<?php
variable = condition ? value1 : value2;
?>
Der Operator funktioniert so: Wenn die Bedingung wahr ist,
wird value1 zurückgegeben, andernfalls
value2. Lassen Sie uns den
am Anfang der Lektion gezeigten Code mit dem
ternären Operator umschreiben:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Man kann das Ergebnis übrigens auch
nicht in einer Variable speichern, sondern direkt über var_dump ausgeben:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Der ternäre Operator sollte nur in den einfachsten Fällen verwendet werden, da seine Verwendung das Verständnis des Codes erschwert.
Nehmen wir an, eine Variable $num ist gegeben, die
entweder negativ oder positiv sein kann.
Schreiben Sie in die Variable $res die Zahl
1, wenn die Variable $num größer
oder gleich Null ist, und die Zahl -1, wenn die Variable
$num kleiner als Null ist.