Maison > développement back-end > tutoriel php > Comment puis-je utiliser des variables calculées en dehors des fonctions de rappel en PHP ?

Comment puis-je utiliser des variables calculées en dehors des fonctions de rappel en PHP ?

Barbara Streisand
Libérer: 2024-12-27 14:12:10
original
982 Les gens l'ont consulté

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

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

En PHP, il est possible de calculer des variables en dehors des fonctions de rappel et de les utiliser dans ces fonctions. Considérons le scénario suivant :

Vous disposez d'un tableau $arr et souhaitez utiliser array_filter pour créer un nouveau tableau contenant uniquement des valeurs inférieures à la moyenne des éléments de $arr.

Pour y parvenir Ceci en utilisant une fonction de rappel, vous pourriez rencontrer le défi de calculer la moyenne en dehors de la fonction et de l'utiliser à l'intérieur. Cependant, le mot-clé use fournit une solution.

Utilisation du mot-clé use

Le mot-clé use permet aux fonctions anonymes d'hériter des variables de la portée 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 < $avg; };
Copier après la connexion

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

return array_filter($arr, $callback);
Copier après la connexion

Utilisation des fonctions fléchées (PHP 7.4 ou version ultérieure)

PHP 7.4 introduit les fonctions fléchées, qui sont des alternatives plus concises aux fonctions anonymes. Les fonctions fléchées capturent automatiquement les variables extérieures, éliminant ainsi le besoin de les utiliser.

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

$callback = fn($val) => $val < $avg;
Copier après la connexion

Filtrage de tableau simplifié avec les fonctions fléchées

Étant donné que les fonctions fléchées sont très concises, vous pouvez les intégrer directement dans array_filter call :

return array_filter($arr, fn($val) => $val < $avg);
Copier après la connexion

En résumé, les fonctions use password ou arrow vous permettent de calculer des variables en dehors des fonctions de rappel et de les utiliser à l'intérieur, permettant des opérations de filtrage plus flexibles et plus pratiques.

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