Dans n’importe quel langage de programmation, les variables ont une portée, c’est-à-dire les « endroits » où elles sont accessibles. La portée varie selon l’endroit où ces variables ont été créées et peut être globale ou locale.

En PHP, toutes les variables créées sur la page, en dehors des fonctions, sont des variables globales de la page. Les variables créées dans une fonction sont des variables locales à cette fonction.

Les variables globales sont accessibles n’importe où sur la page, alors que les variables locales ne sont valables que dans la fonction où elles ont été créées. Ainsi, une variable globale est accessible à l’intérieur de n’importe quelle partie du code, alors que si nous essayons d’accéder à une variable locale en dehors de la fonction où elle a été créée, nous trouverons que la variable n’a aucun contenu.

Cependant, si nous essayons d’accéder à une variable globale à l’intérieur d’une fonction, en principe, nous constaterons également qu’il n’y a pas accès à sa valeur. Il en est ainsi en PHP pour des raisons de clarté du code, afin d’éviter toute confusion lors de l’utilisation dans une fonction d’une variable qui n’a pas été déclarée par un site voisin.

Ainsi, si nous voulons utiliser une variable globale à la page dans une fonction, nous devons spécifier que la variable que nous allons utiliser est une variable globale. Il y a plusieurs façons en PHP d’utiliser les variables globales de la page dans une fonction. Ils sont les suivants :

Tableau $GLOBALS

Il y a un tableau en PHP appelé $GLOBALS, qui stocke une référence à toutes les variables créées globalement dans la page. C’est un tableau associatif, dont au lieu d’index numériques, ils utilisent des index textuels, où chaque index est le nom que nous avons donné à la variable et chaque valeur est le contenu de chaque variable.

Supposons que nous ayons cette déclaration de variables globales à la page, c’est-à-dire, hors de toute fonction :

Si nous voulons accéder à ces variables dans une fonction en utilisant le tableau $GLOBALS nous aurions ce code :

Comme vous pouvez le voir, le contenu des variables globales est accessible avec le tableau $GLOBALS, en utilisant comme index de la matrice les noms des variables que nous voulons afficher.

Vous allez voir à l’écran le texte « hello tout le monde« .

Déclaration d’utilisation de variables globales dans une fonction

Une autre chose que nous pouvons faire pour accéder aux variables globales dans une fonction est de spécifier au début de cette fonction la liste des variables que nous allons utiliser. Pour spécifier ces variables, nous utilisons le mot global suivi de la liste des variables à utiliser dans l’environnement global.

Comme nous pouvons le voir, avec global, il est spécifié que nous allons utiliser certaines variables qui ont été déclarées comme globales dans la page. Une fois cela fait, nous pouvons accéder à ces variables globales comme si elles étaient déclarées dans la fonction.

Toute modification que nous apportons aux variables de la fonction restera quand elle aura quitté la fonction, que nous accédions par le tableau $GLOBALS ou que nous déclarions avec global l’utilisation de ces variables.