Comment accéder aux variables externes dans les fonctions anonymes en PHP ?

Patricia Arquette
Libérer: 2024-11-11 12:36:02
original
807 Les gens l'ont consulté

How to Access External Variables within Anonymous Functions in PHP?

Accès aux variables externes en utilisant des fonctions anonymes comme paramètres

Énoncé du problème :

Vous disposez d'une fonction de récupération réutilisable qui traite la base de données lignes et vous permet d'effectuer des opérations sur chaque ligne à l'aide d'une fonction anonyme. Cependant, vous devez concaténer un champ spécifique de toutes les lignes en une seule variable au sein de la fonction anonyme.

Solution :

Pour accéder à une variable externe au sein d'une fonction anonyme. fonction, vous pouvez utiliser le mot-clé use. Cela héritera de la variable de la portée parent.

Exemple :

$result = '';
fetch("SELECT title FROM tbl", function($r) use (&$result) {
   $result .= $r['title'];
});
Copier après la connexion

Comment ça marche :

  • Le mot-clé use est utilisé dans la liste des paramètres de la fonction anonyme.
  • Il déclare que la variable $result doit être héritée de la portée parent.
  • En utilisant le symbole & dans l'instruction use , la variable est passée par référence, permettant à la fonction anonyme de modifier sa valeur.

Remarque :

  • les variables d'utilisation sont liées au début, ce qui signifie ils utilisent la valeur de la variable au moment où la fonction anonyme est déclarée, pas lorsqu'elle est appelée.
  • Cela pourrait conduire à un comportement inattendu si la valeur de la variable est modifiée après la définition de la fonction anonyme.

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