PHP Portée des Variables


Portée des Variables PHP

Les variables PHP peuvent être déclarées n'importe où dans le code.

La portée d'une variable est la partie du script où elle peut être référencée ou utilisée.

PHP dispose de trois portées de variables différentes :

  • globale
  • locale
  • statique

Portée Globale

Une variable déclarée en dehors d'une fonction a une PORTÉE GLOBALE et ne peut être accédée qu'en dehors de cette fonction :

Exemple

Variable avec portée globale :

$x = 5; // portée globale function myTest() { // utiliser x à l'intérieur de cette fonction ne fonctionnera pas echo "Variable x à l'intérieur de la fonction est : $x"; } myTest(); echo "Variable x à l'extérieur de la fonction est : $x";
Essayez-le vous-même »

Portée Locale

Une variable déclarée à l'intérieur d'une fonction a une PORTÉE LOCALE et ne peut être accédée qu'à l'intérieur de cette fonction.

Les variables locales sont créées lorsque la fonction est appelée et sont détruites lorsque la fonction a fini de s'exécuter :

Exemple

Variable avec portée locale :

function myTest() { $x = 5; // portée locale echo "Variable x à l'intérieur de la fonction est : $x"; } myTest(); // utiliser x à l'extérieur de la fonction ne fonctionnera pas echo "Variable x à l'extérieur de la fonction est : $x"; 
Essayez-le vous-même »


Portée Statique

Normalement, lorsqu'une fonction a fini de s'exécuter, toutes ses variables sont supprimées. Cependant, parfois, nous voulons qu'une variable locale NE soit PAS supprimée. Nous en avons besoin pour un travail ultérieur. Pour y parvenir, utilisez le mot-clé static lors de la première déclaration de la variable.

Ensuite, chaque fois que la fonction est appelée, cette variable conservera la valeur de la dernière fois que la fonction a été exécutée.

Remarque : La variable reste locale à la fonction.

Exemple

function myTest() { static $x = 0; // portée statique echo $x; $x++; } myTest(); myTest(); myTest();
Essayez-le vous-même »

Mot-clé global PHP

Le mot-clé global est utilisé pour accéder à une variable globale depuis l'intérieur d'une fonction.

Pour ce faire, utilisez le mot-clé global avant les variables (à l'intérieur de la fonction) :

Exemple

$x = 5; $y = 10; function myTest() { global $x, $y; $y = $x + $y; } myTest(); echo $y; // affiche 15 
Essayez-le vous-même »

Superglobal $GLOBALS de PHP

PHP stocke également toutes les variables globales dans un tableau appelé $GLOBALS[ index ] . L' index contient le nom de la variable. Ce tableau est également accessible depuis l'intérieur des fonctions et peut être utilisé pour mettre à jour directement les variables globales.

L'exemple ci-dessus peut être réécrit comme suit :

Exemple

$x = 5; $y = 10; function myTest() { $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y']; } myTest(); echo $y; // affiche 15 
Essayez-le vous-même »