## Comment implémenter des fonctions anonymes récursives en PHP ?

Mary-Kate Olsen
Libérer: 2024-10-25 07:54:29
original
364 Les gens l'ont consulté

## How Can You Implement Recursive Anonymous Functions in PHP?

Fonctions récursives anonymes en PHP

En PHP, le concept de fonctions anonymes, également connues sous le nom de fonctions lambda, offre un moyen pratique de définir fonctions en ligne sans spécifier de nom formel. Cependant, en matière de récursion, les fonctions anonymes sont confrontées à un défi unique.

Le problème :

Lorsque vous essayez de créer une fonction anonyme récursive, il peut sembler que le le nom de la fonction n'est pas transmis correctement dans la récursion. Ce problème se pose car, contrairement aux fonctions classiques avec des noms définis, les fonctions anonymes n'ont pas de référence à elles-mêmes.

La solution :

Pour résoudre ce problème, vous devez passer la fonction anonyme comme référence dans l’instruction use. Ceci peut être réalisé en ajoutant une esperluette (&) avant le nom de la fonction, comme démontré dans le code suivant :

<code class="php">$factorial = function( $n ) use ( &amp;$factorial ) {
    if( $n <= 1 ) return 1;
    return $factorial( $n - 1 ) * $n;
};

print $factorial( 5 ); // Output: 120</code>
Copier après la connexion

En passant la fonction anonyme comme référence, vous établissez une connexion entre l'appel récursif et la définition de fonction originale, lui permettant d'accéder à son propre état interne. Cela permet à la récursion de fonctionner comme prévu et vous pouvez calculer avec succès des valeurs factorielles.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal