Fragezeichen-Symbol in PHP

Subodh Poudel 19 September 2023
  1. Einführung in den ternären Operator in PHP
  2. Bewertung von True- und False-Ausdrücken mit dem ternären Operator in PHP
Fragezeichen-Symbol in PHP

In PHP wird der Fragezeichen-Operator ? als ternärer Operator oder bedingter ternärer Operator bezeichnet. Dieser Artikel geht ausführlich auf den ternären Operator in PHP ein.

Einführung in den ternären Operator in PHP

Der bedingte ternäre Operator ? wird auch als bedingter Ausdruck oder ternärer Operator bezeichnet. Er hat die folgende Syntax:

$variable = (condition) ? value_if_true : value_if_false;

Hier ist eine Aufschlüsselung der Komponenten:

  • Bedingung: Ein boolescher Ausdruck, der ausgewertet wird.

  • Wert_wenn_wahr: Der Wert, der $variable zugewiesen wird, wenn Bedingung wahr ist.

  • Wert_wenn_falsch: Der Wert, der $variable zugewiesen wird, wenn Bedingung falsch ist.

Der ternäre Operator überprüft die Bedingung. Wenn sie wahr ist, wird Wert_wenn_wahr an $variable zugewiesen. Andernfalls wird Wert_wenn_falsch zugewiesen.

Beispielcode:

<?php
$num = 10;
$result = ($num % 2 == 0) ? "Even" : "Odd";
echo "The number $num is $result.";
?>

Ausgabe:

The number 10 is Even.

Wir können den ternären Operator verwenden, um die if-else-Konstrukte zu verkürzen und die Lesbarkeit des Codes zu verbessern. Wir können ihn verwenden, um einfachere bedingte Ausdrücke zu schreiben.

Beispielcode:

<?php
$count = (true) ? 1 : 0;

if (true)
{
    $count = 1;
}
else
{
    $count = 0;
}
echo $count;
?>

Ausgabe:

1

Es kann jedoch schwierig sein, den Code zu lesen, wenn wir den ternären Operator verkettet oder verschachtelt verwenden. Ein weiterer Nachteil des ternären Operators besteht darin, dass es schwierig ist, den Code zu debuggen, da wir keine Breakpoints in den Unterexpressionen platzieren können.

Bewertung von True- und False-Ausdrücken mit dem ternären Operator in PHP

Wir werden uns die Verwendung des ternären Operators ansehen. Das folgende Beispiel wird den true-Ausdruck auswerten und den Codeblock entsprechend ausführen.

Die Funktion canVote() wird bestimmen, ob eine Person wählen darf oder nicht. Zuerst wird die Variable $age ausgewertet, ob sie größer oder gleich 18 ist.

Als nächstes rufen wir die Funktion canVote() mit dem Wert 21 als Parameter auf, der das gesetzliche Wahlalter darstellt. Hier wird der Ausdruck als true ausgewertet und der zweite Ausdruck wird ausgeführt.

Beispielcode:

<?php
function canVote($age){
    echo $age>=18 ?"you can vote": "you cannot vote";
}
canVote(21);
?>

Die Funktion canVote() wird bestimmen, ob eine Person wählen darf oder nicht. Zuerst wird die Variable $age ausgewertet, ob sie größer oder gleich 18 ist.

Als nächstes rufen wir die Funktion canVote() mit dem Wert 21 als Parameter auf, der das gesetzliche Wahlalter darstellt. Hier wird der Ausdruck als true ausgewertet und der zweite Ausdruck wird ausgeführt.

Ausgabe:

you can vote

Im nächsten Beispiel wird, wenn ein Wert kleiner als 18 übergeben wird, der Vergleichsausdruck als false ausgewertet. Daher wird der dritte Ausdruck Du kannst nicht wählen angezeigt.

Beispielcode:

<?php
function canVote($age){
    echo $age>=18 ?"you can vote": "you cannot vote";
}
canVote(17);
?>

Ausgabe:

you cannot vote

In anderen Fällen liefert die Auswertung des Ausdrucks einen false-Wert. Zum Beispiel, wenn der Ausdruck einen null-Wert, Nan, 0 oder einen leeren Wert liefert, wird der Ausdruck einen false-Wert zurückgeben.

Das folgende Beispiel zeigt die Bedingungen für den falsy-Wert. Der ternäre Operator wird den dritten Ausdruck ausführen, wenn diese Werte ausgewertet werden.

Beispielcode:

<?php
function Car($name){
    echo $name?$name:"no name";
    echo "<br>";
}
Car("Tesla");
Car(null);
Car("");
Car(0);
?>

Ausgabe:

Tesla
no name
no name
no name
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Verwandter Artikel - PHP Operator