Comment accéder aux variables globales dans une fonction PHP ?

Linda Hamilton
Libérer: 2024-10-31 13:20:02
original
415 Les gens l'ont consulté

How to Access Global Variables within a PHP Function?

Accéder à une variable globale dans une fonction PHP

Dans divers langages de programmation, les variables déclarées en dehors des fonctions peuvent être utilisées dans les fonctions. Cependant, contrairement aux attentes, le code PHP suivant produit une sortie de tableau vide :

<code class="php">$data = 'My data';

function menugen() {
    echo "[" . $data . "]";
}

menugen();</code>
Copier après la connexion

Pour comprendre ce comportement, nous approfondissons les règles de portée des variables PHP. Par défaut, les fonctions n'ont accès qu'aux variables définies dans leur portée immédiate. Pour accéder aux variables externes, le mot-clé global doit être utilisé dans la fonction.

<code class="php">$data = 'My data';

function menugen() {
    global $data; // Add this line

    echo "[" . $data . "]";
}

menugen();</code>
Copier après la connexion

En incorporant cette ligne, la variable $data est déclarée comme globale dans la fonction menugen, permettant son utilisation. Alternativement, les variables en dehors de la portée de la fonction sont accessibles à l'aide du tableau $GLOBALS.

<code class="php">echo $GLOBALS['data'];</code>
Copier après la connexion

Il est crucial de noter que si l'utilisation des variables globales est pratique, elle peut introduire de la complexité et de la fragilité du code. Une approche plus robuste consiste à transmettre les données aux fonctions en tant que paramètres, améliorant ainsi la maintenabilité du code et réduisant le recours aux variables globales. Ceci peut être réalisé comme suit :

<code class="php">$data = 'My data';

function menugen($data) { // Declare parameter
    echo "[" . $data . "]";
}

menugen($data); // Pass data at function call</code>
Copier après la connexion

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