Maison  >  Article  >  développement back-end  >  La différence entre les variables locales et les variables globales dans les fonctions php

La différence entre les variables locales et les variables globales dans les fonctions php

伊谢尔伦
伊谢尔伦original
2017-05-09 10:44:163606parcourir

Les

Les variables définies dans le programme sont appelées variables locales, qui ne sont utilisées que dans le programme et disparaissent à la fin du programme. Les variables définies en dehors du programme sont appelées variables globales, qui peuvent être appelées par le programme, mais ne disparaîtront pas à la fin du programme. Les chapitres précédents ont présenté respectivement les variables locales des fonctions personnalisées et les variables globales des fonctions personnalisées des fonctions PHP. Définissez une fonction. Les variables de cette fonction sont des variables locales. Elles ne peuvent être utilisées que dans cette fonction. Le retour est la valeur de retour de cette fonction. Cette valeur peut être une variable dans la fonction. est une variable locale. Une variable globale est une variable définie en dehors d'une fonction et sa portée s'étend du point de définition jusqu'à la fin du fichier.

En PHP, les fonctions sont traitées comme des éléments de programme distincts, donc les variables locales écraseront les variables globales. Même si la même variable est définie dans la variable locale et n'a pas de variable globale, elle sera écrasée.

Ce qui suit est un exemple pour illustrer leurs différences :

<?php
//局部变量测试
$s1= "out s1"; //全局变量
function say(){
 $s1 = "in s1"; //局部变量
 echo "say():$s1";
}
say(); //输出局部变量: in s1
echo "<br/>";
echo "function out:$s1"; ////输出全局变量:out s1
//static变量测试
function count1(){
 $num = 0;
 $num++;
 echo $num." ";
}
function count2(){
 static $num = 0;
 $num++;
 echo $num." ";
}
for($i=0; $i<10; $i++){
 count1(); //11 1 1 1 1 1 1 1 1 1
}
echo "<br/>";
for($i=0; $i<10; $i++){
 count2(); //1 2 3 4 5 6 7 8 9 10
}
echo "<br/>";
//全局变量在函数中运用,加global
$a="php";
$b = "java";
function show(){
 echo $a; // 无输出
 global $b;
 echo $b; //定义global,输出java
}
show();
?>

Explication de la différence entre les variables locales et les variables globales :

1. Les variables locales peuvent accéder aux variables internes et afficher les résultats à l'intérieur de la fonction ; les variables à l'intérieur de la fonction ne sont pas accessibles en dehors de la fonction, donc les résultats ne peuvent pas être affichés si la valeur de la variable doit être appelée en dehors de la fonction ; La valeur doit être transmise via l'instruction de retour. Retour au bloc de programme principal pour un traitement ultérieur.

2. En PHP, puisque les fonctions peuvent être considérées comme des fragments de code de programme distincts, les variables locales remplaceront la visibilité des variables globales, de sorte que les variables globales ne peuvent pas être appelées directement dans la fonction. Si vous souhaitez utiliser une variable globale dans une fonction, vous devez utiliser des mots-clés pour définir la variable cible, et le mot-clé de cette variable globale est "global". En utilisant le mot-clé "global", vous pouvez importer des données globales dans la portée locale de une fonction. , pour indiquer au corps de la fonction que cette variable est une variable globale.

3. Une autre fonctionnalité importante de la portée des variables en PHP concerne les variables statiques. Les variables statiques n'existent que dans la portée de la fonction locale et ne sont initialisées qu'une seule fois. Lorsque l'exécution du programme quitte cette portée, sa valeur ne disparaîtra pas et le résultat de la dernière exécution sera utilisé. Dans les exemples ci-dessus, les variables statiques sont utilisées et les variables statiques ne sont pas utilisées respectivement. Les amis peuvent les comparer soigneusement.

【Tutoriels associés recommandés】

1. "php.cn Dugu Jiujian (4) - Tutoriel vidéo PHP "

2. Un ensemble complet de tutoriels vidéo sur la programmation PHP de l'entrée au master

3

Tutoriels vidéo pratiques PHP.

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