Zähmung des Elvis-Operators (?:) in PHP
Der mysteriöse ?:-Operator hat PHP-Code geschmückt und lässt Sie verwirrt zurück. Dieser prägnante Artikel befasst sich mit seiner rätselhaften Natur und enthüllt seinen wahren Zweck.
Enthüllung des ?:-Operators
Der ?:-Operator, auch bekannt als „Elvis-Operator“, " funktioniert ähnlich einem ternären Operator. Sein einzigartiges Merkmal liegt jedoch im Fehlen eines Ausdrucks, anhand dessen ausgewertet werden kann, ob sich das Prädikat als wahr erweist. Hier ist eine Aufschlüsselung seines Verhaltens:
Es wertet den linken Operanden aus, wenn der linke Operand wahr ist, d. h. nicht null, eine leere Zeichenfolge, falsch oder null.
Wenn der Wenn der linke Operand falsch ist, wird er nach rechts ausgewertet Operand.
Entscheidend ist, dass der Ausdruck für den linken Operanden nur einmal ausgewertet wird, um Effizienz zu gewährleisten.
Anschauliche Beispiele
Berücksichtigen Sie zur weiteren Verdeutlichung die Folgender Codeausschnitt:
$items = $items ?: $this->_handle->result('next', $this->_result, $this);
In diesem Fall, wenn $items wahr ist (nicht null oder nicht leer), wird der Wert von $items sich selbst zugewiesen. Wenn $items jedoch falsch ist, wird das Ergebnis von $this->_handle->result('next', $this->_result, $this) $items zugewiesen. Dadurch werden undefinierte Werte effektiv behandelt, indem ein Standardwert bereitgestellt wird.
Zusätzliche Anwendungen
Der ?:-Operator erweist sich auch in Selbstprüfungsszenarien als nützlich:
foo = foo ?: bar;
Hier wird foo der Wert von bar zugewiesen, wenn foo null oder falsch ist. Ansonsten bleibt foo unverändert.
Schaufenster der Vielseitigkeit
Um seine Vielseitigkeit zu veranschaulichen, betrachten Sie diese Beispiele:
var_dump(5 ?: 0); // 5 var_dump(false ?: 0); // 0 var_dump(null ?: 'foo'); // 'foo' var_dump(true ?: 123); // true var_dump('rock' ?: 'roll'); // 'rock' var_dump('' ?: 'roll'); // 'roll' var_dump('0' ?: 'roll'); // '0' var_dump('42' ?: 'roll'); // '42'
Der Ursprung von „Elvis Operator“
Sein eigenartiger Spitzname „Elvis Operator“ leitet sich ab aufgrund seiner Ähnlichkeit mit den Haaren von Elvis Presley. So wie die Locken von Elvis entweder zu einer buschigen Pompadour gestylt oder nach hinten gekämmt waren, ist der linke Operand des Operators entweder wahr oder falsch und bestimmt den resultierenden Wert.
Das obige ist der detaillierte Inhalt vonWas ist der Elvis-Operator in PHP und wie funktioniert er?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!