Maison >développement back-end >tutoriel php >Comment créer une fonction de fermeture de la fonction PHP ?
Une fonction de fermeture en PHP est une fonction anonyme imbriquée dans une autre fonction qui peut accéder aux variables de la fonction externe. Le mot-clé use peut être utilisé pour accéder à des variables externes dans la fonction de fermeture, qui peuvent être appliquées dans des scénarios réels où des remises doivent être appliquées à chaque élément de la liste.
Fonctions de fermeture dans les fonctions PHP
Une fonction de fermeture est une fonction anonyme imbriquée dans une autre fonction qui peut accéder aux variables de la fonction externe, même si la fonction externe est revenue. Les fonctions de fermeture sont très utiles en PHP car elles permettent de créer des blocs de code réutilisables et de maintenir l'accès à l'environnement externe.
Création d'une fonction de fermeture
Pour créer une fonction de fermeture en PHP, utilisez le mot-clé function
, suivi d'un nom et d'une liste d'arguments facultatifs : function
关键字,后跟一个可选的名称和参数列表:
$closure = function($arg1, $arg2) { // 函数体 };
闭包函数中的变量范围规则如下:
use
。使用 use
关键字
use
function outerFunction($arg1) { $outerVar = '外部变量'; $closure = function() use ($arg1, $outerVar) { // 闭包函数可以访问 $arg1 和 $outerVar }; }Variables dans les fonctions de fermeture Les règles de portée sont comme suit :
use
dans la fonction de fermeture. use
Le mot-clé use
est utilisé pour introduire des variables externes dans la fonction de fermeture. Par exemple : function applyDiscount($list, $discountPercentage) { // 创建闭包函数来计算折扣 $discountClosure = function($item) use ($discountPercentage) { return $item - ($item * ($discountPercentage / 100)); }; // 将折扣闭包函数应用于列表中的每个元素 return array_map($discountClosure, $list); }Exemple pratique🎜🎜Supposons que vous deviez créer une fonction qui applique une remise à chaque élément d'une liste. Pour cela, vous pouvez créer une fonction de clôture pour calculer le montant de la remise : 🎜
function outerFunction($arg1) { $outerVar = '外部变量'; $closure = function() use ($arg1, $outerVar) { // 闭包函数可以访问 $arg1 和 $outerVar echo "arg1: $arg1<br>"; echo "outerVar: $outerVar<br>"; }; // 调用闭包函数 $closure(); } applyDiscount([10, 20, 30], 10); // [9, 18, 27]🎜🎜Code complet : 🎜🎜rrreee
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!