⊗ppPmCdTO 101 of 447 menu

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.

itfrdemsuzl