Maison > Article > développement back-end > Les fonctions PHP peuvent-elles accéder à des variables définies en dehors de leur portée ?
La possibilité d'accéder à des variables définies en dehors des fonctions au sein des fonctions elles-mêmes est une caractéristique commune à de nombreux langages de programmation. Cependant, en PHP, l'extrait de code ci-dessous ne s'exécute pas comme prévu :
<code class="php">$data = 'My data'; function menugen() { echo "[" . $data . "]"; } menugen();</code>
Ce code afficherait un ensemble vide de crochets « [] » au lieu de « [Mes données] ». Pour remédier à cela, PHP nécessite une déclaration explicite des variables globales au sein de la fonction. L'ajout de la ligne suivante résout le problème :
<code class="php">function menugen() { global $data; echo "[" . $data . "]"; }</code>
Alternativement, les variables globales sont également accessibles via $GLOBALS['data'].
Attention : Lors de l'utilisation Si des variables globales sont possibles, elles sont généralement déconseillées en faveur du passage de données en paramètres. Cette approche maintient la clarté du code et évite les conflits potentiels ou les modifications involontaires des variables globales. Dans l'exemple ci-dessus, le code révisé serait :
<code class="php">$data = 'My data'; function menugen($data) { echo "[" . $data . "]"; } menugen($data);</code>
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!