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"; 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"; 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(); 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 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