PHP-Syntax Frage: Was bedeutet die Fragezeichen und Doppelpunkt bedeuten? [Duplikat]
-
16-09-2019 - |
Frage
Mögliche Duplizieren:
schnelle PHP-Syntax Frage
return $add_review ? FALSE : $arg;
Was Fragezeichen und Doppelpunkt bedeuten?
Danke
Lösung
Dies ist der PHP ternärer Operator (auch als bedingter Operator bekannt) -., wenn die erste Operand true ausgewertet wird, als zweite Operanden bewerten, auch als dritter Operand bewertet
Betrachten Sie es als eine „if“ Anweisung, die Sie in Ausdrücken verwenden können. Kann bei der Herstellung präzise Aufgaben sehr nützlich sein, die auf einer Bedingung abhängig, z.
$param = isset($_GET['param']) ? $_GET['param'] : 'default';
Es gibt auch eine abgekürzte Version dieses (in PHP 5.3 an). Sie können die mittleren Operanden auslassen. Der Bediener wird als erster Operand, wenn es wahr ist, und der dritte Operand bewerten anders. Zum Beispiel:
$result = $x ?: 'default';
Es ist erwähnenswert, dass der obige Code bei der Verwendung von zB $ _GET oder $ _POST Variable undefiniert Index Hinweis werfen und verhindern, dass wir eine längere Version, mit isset
oder ein null-Koaleszenz-Operator , die in PHP7 eingeführt wird:
$param = $_GET['param'] ?? 'default';
Andere Tipps
Es ist die dreiteilige Form des if-else-Operators. Die obige Aussage im Grunde liest sich wie folgt:
if ($add_review) then {
return FALSE; //$add_review evaluated as True
} else {
return $arg //$add_review evaluated as False
}
Sehen Sie hier für weitere Details zu dem ternären op in PHP: http: //www.addedbytes. com / php / ternär conditionals /