Accès aux variables globales dans les fonctions
En PHP, l'accès aux variables globales dans les fonctions présente certains défis. Considérons le code suivant :
<br>$sxml = new SimpleXMLElement('<somexml/>');</p> <p>function foo(){</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$child = $sxml->addChild('child');
}
foo();
Ce code tente d'accéder à la variable globale $sxml depuis l'intérieur la fonction foo(), mais elle échoue. Les fonctions en PHP ont leur propre portée locale et ne peuvent pas accéder aux variables de la portée globale par défaut.
Pour accéder à une variable globale au sein d'une fonction, il existe plusieurs options :
Passer la variable globale comme argument :
Vous pouvez transmettre la variable globale comme argument à la fonction, lui permettant d'accéder it.
function foo($sxml){ $child = $sxml->addChild('child'); } foo($sxml);
Déclarer la variable globale en tant que variable globale :
Vous pouvez déclarer la variable globale en tant que variable globale dans la fonction en utilisant le mot clé global.
function foo(){ global $sxml; $child = $sxml->addChild('child'); } foo();
Utiliser Fermetures :
Les fermetures en PHP vous permettent d'accéder aux variables externes au sein d'une fonction.
function foo() use (&$sxml) { $child = $sxml->addChild('child'); } foo();
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!