La portée d'une variable est le contexte dans lequel elle est définie (c'est-à-dire la portée dans laquelle elle prend effet). La plupart des variables PHP n'ont qu'une seule portée. Cette étendue à portée unique inclut également les fichiers introduits par include et require
Par exemple :
Le code est le suivant :
<?php $a = 1; include 'b.inc'; ?>
Ici la variable $ a sera dans le Inclure le fichier b.inc pour prendre effet. Cependant, dans les fonctions définies par l'utilisateur, une portée de fonction locale sera introduite. Toutes les variables utilisées dans une fonction seront limitées par défaut à la portée de la fonction locale et sont actuellement des variables locales.
Les variables globales en PHP doivent être déclarées comme globales lorsqu'elles sont utilisées dans des fonctions.
Les variables déclarées en utilisant global dans une fonction sont des variables globales et peuvent être utilisées en dehors de la fonction. Remarque : Lorsque vous déclarez une variable globalement, vous ne pouvez pas attribuer directement une valeur à la variable. Vous devez d'abord la déclarer, puis attribuer une valeur.
Dans la portée globale, les variables globales sont également accessibles via
$GLOBALS Il n'est pas nécessaire d'utiliser le mot-clé global pour accéder aux variables globales dans une fonction. $GLOBALS est un tableau associatif, chaque variable est un élément, le nom de la clé correspond au nom de la variable et la valeur correspond au contenu de la variable. $GLOBALS existe dans la portée globale car $GLOBALS est une variable superglobale. Les constantes peuvent être définies et accessibles n'importe où, quelle que soit la portée de la
variable ;
Une autre caractéristique importante de la portée des variables est les variables statiques (
variable statique ). Les variables statiques n'existent que dans la portée de la fonction locale, mais leurs valeurs ne sont pas perdues lorsque l'exécution du programme quitte cette portée. Les variables statiques ne sont initialisées qu'au premier appel. Elles peuvent se voir attribuer des valeurs lorsqu'elles sont déclarées, mais ne peuvent pas être des valeurs d'expression. L'attribuer au résultat d'une expression dans une déclaration entraînera une erreur d'analyse.
Lorsqu'une référence (une variable ou un objet avec &) est affectée à une variable statique, la référence n'est pas stockée statiquement et la valeur de la variable statique n'est pas mémorisée la deuxième fois que la fonction est appelée. De même, lorsqu'une référence (variable ou objet avec &) est affectée à une variable globale, le changement de cette variable n'a aucun effet en dehors de la fonction, et la portée est uniquement à l'intérieur de la fonction.
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!