Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Zweck des ?:-Operators von PHP?

Was ist der Zweck des ?:-Operators von PHP?

DDD
DDDOriginal
2024-10-19 11:32:02490Durchsuche

What is the Purpose of PHP's ?: Operator?

Den PHP 5.3 ?:-Operator verstehen

Der in PHP 5.3 eingeführte ?:-Operator bietet eine prägnante Syntax für bedingte Ausdrücke. Es vereinfacht im Wesentlichen den zuvor verfügbaren Bedingungsoperator:

<code class="php">expr ? val_if_true : val_if_false</code>

Jetzt können Sie mit dem ?:-Operator den mittleren Ausdruck weglassen:

<code class="php">expr ?: val_if_false</code>

Dies ist äquivalent zu:

<code class="php">expr ? expr : val_if_false</code>

Zum Beispiel zeigt der folgende Code die Verwendung des ?:-Operators:

<code class="php"><?php
require __DIR__.'/c.php';
if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; }))
    throw new Exception('Error');
$c();
?></code>

Dekodierung anonymer Funktionen

PHP hat das Konzept ebenfalls eingeführt von anonymen Funktionen mit PHP 5.3. Diese Funktionen, manchmal auch als Lambda-Funktionen bezeichnet, können spontan definiert und als Argumente an andere Funktionen übergeben werden.

Anonyme Funktionen existieren als Objekt der Closure-Klasse und können Variablen zugewiesen oder übergeben werden direkt als Argumente. Diese Funktionen bieten eine bequeme Möglichkeit, kurze Inline-Codeblöcke zu schreiben, ohne dass eine separate Funktionsdefinition erforderlich ist.

Beispielsweise im bereitgestellten Beispiel:

<code class="php">function() { echo 'Woah!'; }</code>

ist eine anonyme Funktion, die „ Woah!" wenn angerufen.

Das obige ist der detaillierte Inhalt vonWas ist der Zweck des ?:-Operators von PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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