Maison > développement back-end > Problème PHP > Pourquoi php a-t-il besoin de fonctions anonymes ?

Pourquoi php a-t-il besoin de fonctions anonymes ?

(*-*)浩
Libérer: 2023-02-24 06:12:01
original
3202 Les gens l'ont consulté

Les fonctions anonymes, également appelées fermetures, permettent la création temporaire d'une fonction sans nom précisé. La valeur la plus couramment utilisée comme argument de fonction de rappel. Bien entendu, il existe également d’autres applications.

Pourquoi php a-t-il besoin de fonctions anonymes ?

Des fonctions anonymes sont actuellement implémentées via la classe Closure.

Exemple de fonction anonyme (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)

<?php
echo preg_replace_callback(&#39;~-([a-z])~&#39;, function ($match) {
    return strtoupper($match[1]);
}, &#39;hello-world&#39;);
// 输出 helloWorld
?>
Copier après la connexion

Les fonctions de fermeture peuvent également être utilisées comme valeur de variables . PHP convertira automatiquement cette expression en une instance d'objet de la classe intégrée Closure. La méthode d'affectation d'un objet de fermeture à une variable est la même que la syntaxe d'affectation de variable ordinaire, et un point-virgule doit être ajouté à la fin :

Exemple d'affectation de variable de fonction anonyme

<?php
$greet = function($name)
{
    printf("Hello %s\r\n", $name);
};

$greet(&#39;World&#39;);
$greet(&#39;PHP&#39;);
?>
Copier après la connexion

Les fermetures peuvent hériter des variables de la portée parent. Toutes ces variables doivent être transmises à l’aide de la construction du langage use. À partir de PHP 7.1, de telles variables ne peuvent pas être transmises : superglobales, $this ou avoir le même nom que les paramètres.

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal