"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > En PHP, comment utiliser les variables calculées en externe dans une fonction de rappel?

En PHP, comment utiliser les variables calculées en externe dans une fonction de rappel?

Publié le 2025-04-16
Parcourir:296

How Can I Use Variables Calculated Outside Callback Functions in PHP?

en utilisant des variables calculées en dehors des fonctions de rappel

En php, il est possible de calculer les variables à l'extérieur des fonctions de rappel et de les utiliser dans ces fonctions. Considérons le scénario suivant:

Vous avez un tableau $ arr et souhaitez utiliser array_filter pour créer un nouveau tableau ne contenant que des valeurs inférieures à la moyenne des éléments dans $ arr.

pour l'atteindre en utilisant une fonction de rappel, vous pouvez répondre au défi de calculer la moyenne en dehors de la fonction et de l'utiliser à l'intérieur. Cependant, le mot clé Utiliser fournit une solution.

en utilisant le mot-clé Utiliser

Le mot-clé Utiliser permet aux fonctions anonymes de hériter des variables de la portée du parent. Dans ce cas, vous pouvez définir la fonction de rappel comme suit:

$avg = array_sum($arr) / count($arr);
$callback = function($val) use ($avg) { return $val  

Ici, $ avg est hérité de la portée parent à l'aide du mot clé Utiliser. La fonction de rappel peut désormais utiliser $ avg pour filtrer les éléments.

return array_filter($arr, $callback);

en utilisant les fonctions Arrow (php 7.4 ou ultérieurement)

php 7.4 introduit des fonctions Arrow, qui sont des alternatives plus conientes pour anonyer les fonctions. Les fonctions de flèche capturent automatiquement les variables en dehors des variables, éliminant le besoin d'utilisation.

Vous pouvez définir la fonction de rappel comme suit:

$callback = fn($val) => $val  

Filter les fonctions d'arre functions are highly concise, you can embed them directly within the array_filter call:

return array_filter($arr, fn($val) => $val In summary, the use keyword or arrow functions allow you to calculate variables outside of callback functions and use them within, enabling more flexible and convenient filtering opérations.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3