„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Was ist der Elvis-Operator (?:) und wie funktioniert er in PHP?

Was ist der Elvis-Operator (?:) und wie funktioniert er in PHP?

Veröffentlicht am 21.11.2024
Durchsuche:407

What is the Elvis Operator (?:) and How Does it Work in PHP?

Elvis-Operator (?:) Enträtselt in PHP

In den Tiefen einer komplexen PHP-Codebasis stoßen Sie möglicherweise auf einen mysteriösen Operator: den ?: Operator. Er wird als „Elvis-Operator“ bezeichnet und Sie fragen sich vielleicht: „Was ist sein Zweck?“

Der ?:-Operator wertet im Wesentlichen seinen linken Operanden aus, wenn der linke Operand als „wahr“ angesehen wird, und der sonst der rechte Operand. Mit anderen Worten:

foo ?: bar

entspricht in etwa dem ternären Operator:

foo ? foo : bar

oder in einer traditionellen if-else-Anweisung:

if (foo) {
    foo = foo;
} else {
    foo = bar;
}

Im Gegensatz zum ternären Operator wertet der ?:-Operator jedoch den linken Operanden nur einmal aus, was die Effizienz erhöht.

Beispielverwendung

Eine Gemeinsamkeit Der Anwendungsfall dient der Selbstprüfung, wie im Codeausschnitt zu sehen ist:

$items = $items ?: $this->_handle->result('next', $this->_result, $this);

Hier wird das Ergebnis von $this->_handle->result() $items if zugewiesen $items ist null oder falsch, während $items andernfalls unverändert bleibt.

Zusätzlich Beispiele

Hier noch ein paar Beispiele, um das Verhalten zu verdeutlichen:

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'); // 'roll'
var_dump('42' ?: 'roll'); // '42'

Sollten Sie in Zukunft auf einen ?:-Operator stoßen, denken Sie daran, dass sein Ziel darin besteht, eine prägnante Möglichkeit zur Auswertung und Zuweisung auf der Grundlage der Wahrhaftigkeit bereitzustellen, um Ihren Code effizienter und lesbarer zu machen.

Neuestes Tutorial Mehr>

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