Heim > Backend-Entwicklung > PHP-Tutorial > Was ist der Elvis-Operator (?:) und wie funktioniert er in PHP?

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

Linda Hamilton
Freigeben: 2024-11-13 16:13:02
Original
405 Leute haben es durchsucht

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

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

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
Nach dem Login kopieren

entspricht in etwa dem ternären Operator:

foo ? foo : bar
Nach dem Login kopieren

oder in einer traditionellen if-else-Anweisung:

if (foo) {
    foo = foo;
} else {
    foo = bar;
}
Nach dem Login kopieren

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

Beispielverwendung

Ein häufiger Anwendungsfall ist die Selbstprüfung, z im Codeausschnitt zu sehen:

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

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

Zusätzliche Beispiele

Hier sind ein paar weitere 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'
Nach dem Login kopieren

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

Das obige ist der detaillierte Inhalt vonWas ist der Elvis-Operator (?:) und wie funktioniert er in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage