Der ternäre Operator in PHP können Sie schreiben einfach " if-else " -Anweisungen mit einer Zeile Code anstatt mit zwei bis fünf Zeilen Code , die für eine " if-else "-Anweisung erforderlich sein könnten . Es kann helfen, verkürzen Codierung Zeit und können ein Programm leichter verständlich und besser wartbar zu machen. Der ternäre Operator wertet einen bedingten Ausdruck und das Ergebnis einer Aussage, wenn es wahr ist, und eine andere Aussage, wenn es falsch ist . Es ersetzt diese Aussage: if ($ x < 0) { $ result = "negativ" ; } else { $ result = " nicht negativ" ;} mit dieser Aussage : $ result = $ x < 0? "negative ": " nicht negativ" ; Bei Verwendung des ternären Operator , die dokumentierte Syntax für Ausdrücke und seien Sie vorsichtig bei der Erstellung komplexer Ausdrücke, verschachtelte Anweisungen und Variablen per Referenz übergeben beinhalten . Syntax
Konstruieren Sie eine Anweisung mit der dreifach konditionalen Operator mit einem bedingten Ausdruck , gefolgt von einem Fragezeichen und einer Aussage zu beurteilen, ob der bedingte Ausdruck ist wahr, gefolgt von einem Doppelpunkt und einer Aussage zu beurteilen, ob der bedingte Ausdruck ist falsch. Zum Beispiel weist die folgende Aussage entweder wahr oder falsch auf die " is_teenager " Variable auf das Alter einer Person bezogen :
$ is_teenager = ($ Alter > = 13 && $ Alter < = 19 ) ? true ;
Weglassen des Nahen
In PHP-Version 5.3 oder höher verwenden, können Sie eine noch abgekürzter Ausdruck mit dem ternären Operator durch Weglassen der Mitte des erstellen Erklärung und mit den ersten Ausdruck , da sowohl die bedingte Ausdruck und der Wert zurückgegeben , wenn der bedingte Ausdruck wahr ist . Erstellen Sie eine bedingte Anweisung , gefolgt von einem Fragezeichen und einem Doppelpunkt , gefolgt von der Aussage zu beurteilen, ob der bedingte Ausdruck ist falsch. Wenn die bedingte Ausdruck wahr ist, ist das Ergebnis true. Zum Beispiel gibt der folgende Ausdruck wahr, wenn das Alter einer Person weniger als 21 und andernfalls false
$ age <21 : . ? Falsch;
Nesting Statements
erstellen Sie keine komplizierten Ausdrücke mit verschachtelten bedingten Anweisungen und ternäre Operatoren . Wenn Sie dies tun , Sie in der Regel den Code schwerer machen , zu verstehen , schwieriger zu debuggen und schwieriger zu verwalten . Wenn Sie Aussagen Nest , Klammern verwenden , so dass es klar ist, wie das endgültige Ergebnis wird abgeleitet oder verwenden Sie eine alternative Struktur wie einer " if-else "-Anweisung.
Ergebnis ist ein Statement
Wenn Sie Variablen als Referenz mit einem ternären Operator übergeben verwenden , denken Sie daran , dass die Ausdrücke mit dem Operator bereitgestellt Aussagen , keine Variablen sind . Sie können nicht eine Variable anhand von selbst als eine Erklärung verabschiedet , weil es keinen Wert hat . In PHP 5.3 und später , erhalten Sie eine Warnung, wenn Sie eine Anweisung mit einer einzigen Variable per Referenz übergeben konstruieren .