Programmierer, die ein gewisses Verständnis von PHP haben, werden sich nicht fremd fühlen, wenn sie ?: sehen. Es ist eine sehr beeindruckende grammatikalische Struktur: der ternäre Operator.
Der ternäre Operator wird wie folgt verwendet:
(expr1) ? (expr2) : (expr3)
Wenn expr1 wahr ist, wird der Wert von expr2 zurückgegeben Wenn Ausdruck1 falsch ist, wird der Wert von Ausdruck3 zurückgegeben.
Ab der PHP-Version 5.3 ist der ternäre Operator jedoch nicht mehr auf die oben genannten Operationsmethoden beschränkt. Er kann es auch so verwenden:
(expr1) ?: (expr2)
, was bedeutet, verbinden ?: miteinander. Wenn diese Verwendung übernommen wird und Ausdruck1 wahr ist, wird Ausdruck1 selbst zurückgegeben, und wenn Ausdruck1 falsch ist, wird der Wert von Ausdruck2 zurückgegeben.
Dies ist eine sehr nützliche Schreibweise, daher kann Hy369 es kaum erwarten, dies für alle Freunde in seinen PHP-Blog zu schreiben!
Besondere Erinnerung: Beachten Sie, dass der ternäre Operator eine Anweisung ist, sodass seine Auswertung keine Variable, sondern das Ergebnis der Anweisung ist. Dies ist wichtig, wenn Sie eine Variable per Referenz zurückgeben möchten. Die Anweisung return $var == 369 ? $a : $b; in einer Funktion, die per Referenz zurückgibt, wird nicht funktionieren und eine zukünftige Version von PHP wird eine Warnung darüber ausgeben.
Das Obige ist der Inhalt der speziellen Verwendung von ?: in Hinweis 015 PHP. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).