Maison > Article > développement back-end > Comment fonctionnent les fonctions anonymes PHP ?
La fonction anonyme PHP est une fonction sans nom créée dynamiquement au moment de l'exécution. Ils sont implémentés en tant que cas particuliers de classes internes, peuvent accéder à des variables externes à l'aide du mot-clé use et ne peuvent pas être appelés de manière récursive.
Comment fonctionnent les fonctions anonymes en PHP
Que sont les fonctions anonymes ?
Les fonctions PHP Anonymes sont des fonctions sans nom qui sont généralement transmises comme arguments à d'autres fonctions ou méthodes. Ils rendent le code plus propre et plus facile à gérer.
Syntaxe :
$callback = function (参数) { // 函数体 };
Comment ça marche ?
Les fonctions anonymes PHP sont créées dynamiquement au moment de l'exécution. Ils sont implémentés comme un cas particulier de classes internes.
Lorsque vous appelez une fonction anonyme, le moteur d'exécution créera une nouvelle classe interne qui hérite de la classe Closure PHP. Cette nouvelle classe possède les propriétés suivantes :
$this
fait référence au scope dans lequel se trouve la fonction anonyme. $this
引用匿名函数所在的范围。__invoke()
方法中。实际案例:
让我们看看一个实际案例,其中我们使用匿名函数对数组中的元素应用 strtoupper()
函数:
$arr = ['apple', 'banana', 'cherry']; $modifiedArr = array_map(function ($item) { return strtoupper($item); }, $arr); print_r($modifiedArr); // 输出 ['APPLE', 'BANANA', 'CHERRY']
在上面的示例中,我们创建了一个匿名函数,将每个元素转换为大写。然后我们将这个匿名函数作为 array_map()
函数的参数,该函数将其应用于数组中的每个元素。
注意事项:
use
__invoke()
. strtoupper()
sur les éléments d'un tableau en utilisant la fonction anonyme : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons créé un fonction qui convertit chaque élément en majuscule. On passe ensuite cette fonction anonyme en argument à la fonction array_map()
, qui l'applique à chaque élément du tableau. 🎜🎜🎜Remarque : 🎜🎜🎜🎜Les fonctions anonymes peuvent accéder aux variables dans la portée externe. 🎜🎜Ils peuvent capturer des variables externes et empêcher toute modification accidentelle à l'aide du mot-clé use
. 🎜🎜Les fonctions anonymes ne peuvent pas être appelées de manière récursive. 🎜🎜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!