Maison  >  Article  >  développement back-end  >  Quel est le but de PHP ? : Opérateur ?

Quel est le but de PHP ? : Opérateur ?

DDD
DDDoriginal
2024-10-19 11:32:02565parcourir

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

Comprendre l'opérateur PHP 5.3 ?:

Introduit dans PHP 5.3, l'opérateur ?: propose une syntaxe concise pour les expressions conditionnelles. Cela simplifie essentiellement l'opérateur conditionnel précédemment disponible :

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

Maintenant, avec l'opérateur ?:, vous pouvez omettre l'expression du milieu :

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

Cela équivaut à :

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

Par exemple, le code suivant démontre l'utilisation de l'opérateur ?: :

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

Décodage des fonctions anonymes

PHP a également introduit le concept de fonctions anonymes avec PHP 5.3. Ces fonctions, parfois appelées fonctions lambda, peuvent être définies à la volée et transmises comme arguments à d'autres fonctions.

Les fonctions anonymes existent en tant qu'objet de la classe Closure et peuvent être affectées à des variables ou transmises. directement comme arguments. Ces fonctions constituent un moyen pratique d'écrire des blocs de code courts en ligne sans nécessiter une définition de fonction distincte.

Par exemple, dans l'exemple fourni :

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

est une fonction anonyme qui génère " Waouh!" lorsqu'on l'appelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn