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 Der linke Operand ist falsch, er wird zum rechten Operanden ausgewertet.
Entscheidend ist, dass der Ausdruck für den linken Operanden nur einmal ausgewertet wird, um Effizienz zu gewährleisten.
Anschauliche Beispiele
Zur weiteren Verdeutlichung betrachten Sie den folgenden Codeausschnitt:
$items = $items ?: $this->_handle->result('next', $this->_result, $this);
Wenn in diesem Fall $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. Andernfalls 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“ rührt von seiner Ähnlichkeit mit Elvis Presleys Haaren her. 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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3