Maison  >  Article  >  développement back-end  >  portée des variables php

portée des variables php

angryTom
angryTomoriginal
2019-08-22 10:56:025863parcourir

portée des variables php

Portée, un concept de programmation De manière générale, le nom utilisé dans un morceau de code de programme n'est pas toujours valide/disponible, et la disponibilité de ce nom est limitée. la portée de ce nom. Ci-dessous, nous vous présenterons la portée des variables PHP.

Tutoriel recommandé : Tutoriel vidéo d'introduction à PHP

Pour faire simple, il a trois fonctions Domaine :

Périmètre local Périmètre global Périmètre super global

Correspondant à 3 types de variables : Variable locale Variable globale Variables super globales

portée locale et variables locales

sont la portée au sein de la fonction, dans laquelle la définition Les variables sont des variables locales (y compris les paramètres formels sont également des variables locales).

Les variables locales ne sont accessibles que dans leurs fonctions.

Les variables locales seront automatiquement détruites à la fin de l'appel de fonction (on peut comprendre que l'exécution de la fonction se termine et que l'espace d'exécution est également détruit).

On constate que les variables locales internes ne sont pas accessibles en dehors de la fonction.

Variable statique : une variable locale spéciale

Signification :

A l'intérieur de la fonction, utilisez le mot clé static pour modifier la variable.

Forme :

  function  XXX( .... ){
                            static  $s1 = 10;  //此时,$s1就是静态变量
                           ......
                      }

Caractéristiques des variables statiques :

La valeur d'une variable locale statique ne sera pas détruite à la fin de l'appel de fonction , mais sera toujours réservé.

  Comparaison : Les variables locales non statiques seront détruites à la fin de l'appel de fonction !

C'est-à-dire que lorsque la fonction est à nouveau appelée, la variable (valeur) peut continuer à être utilisée.

Portée globale et variables globales

  C'est la portée de la portée externe de la fonction, et les variables qui y sont définies sont des variables globales.

Les variables globales ne peuvent être directement utilisées (accessibles) que dans la portée globale dans laquelle elles se trouvent.

Portée super globale et variables super globales

La portée entière, y compris la portée locale et la portée globale.

Les variables superglobales peuvent être utilisées (accessibles) dans toutes les portées.

En fait, seul un nombre limité de 10 variables système prédéfinies sont des variables super globales, notamment : $_GET, $_POST, $_REQUEST, etc.

Par conséquent, les variables prédéfinies du système sont également appelées collectivement variables superglobales.

Une super variable globale spéciale : $GLOBALS

C'est aussi un tableau qui stocke toutes les variables globales que nous définissons nous-mêmes.

Le nom de variable de chaque variable globale est une unité du tableau $GLOBALS.

Par exemple :

Définir les variables suivantes dans le scope global :

$v1 = 1;   //这一行执行,就有了一个这个:$GLOBALS[‘v1’], 其值为1
$v2 = ‘abc’;  //这一行执行,就有了一个这个:$GLOBALS[‘v2’], 其值为’abc’
$v3 = true;  //这一行执行,就有了一个这个:$GLOBALS[‘v3’], 其值为true

Fonction :

nous permet d'utiliser le scope global dans le scope local variable.

La démonstration est la suivante :

 $v1 = 10;  //全局变量
               function  func1(  ){
                          echo  $GLOBALS[‘v1’]; //输出10;
                          echo  $v1;    //报错:变量v1未定义
                          $s1 = $GLOBALS[‘v1’] * 5; //结果为50;
                         $s2 = $v1 * 5;    //报错:变量v1未定义
              }

Un mot-clé spécial : global

Fonction :

Utilisé dans une portée locale, modifiez un variable locale portant le même nom que la variable globale.

À ce stade, la variable locale peut également utiliser la valeur de la variable globale - en fait, elles sont similaires à la relation de référence variable.

Sa fonction est similaire à : $GLOBALS

   $a = 10;
      function sum(){
          global $a ;  //全局变量的引用的别名
          $a++;
          $b = $a + 1;
          echo $b;
      } 
      sum(); //  12
      echo $a ; //  11

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!

Déclaration:
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