Maison  >  Article  >  développement back-end  >  Que sont les variables globales ? Explication détaillée des instances de variables globales dans le cadre des variables PHP

Que sont les variables globales ? Explication détaillée des instances de variables globales dans le cadre des variables PHP

伊谢尔伦
伊谢尔伦original
2017-05-08 10:55:152395parcourir

Que sont les variables globales ?

Les variables globales sont également appelées variables externes. Elles sont définies en dehors de la fonction. Sa portée commence à l'endroit où la variable est définie et se termine à la fin du fichier programme. . Contrairement à d’autres langages de programmation, les variables globales ne sont pas automatiquement mises à disposition. Dans le chapitre précédent, nous avons introduit les variables locales dans le cadre des variables php, en PHP, car les fonctions peuvent être considérées comme du code de programme distinct fragments , donc les variables locales remplaceront la visibilité des variables globales, donc les variables globales ne peuvent pas être appelées directement dans la fonction.

Le code est au format suivant :

<?php
 $one = 10;
 $two = 20;
 // 测试在函数内部不能直接使用全局变量 $one 和 $two
 function sum(){
   // 在函数内部新声明并且没有赋初始值的两个变量
   echo "运算结果:".($one+$two)."<br>";
 }
 sum();    //调用函数
?>

Le résultat de sortie après l'exécution du programme est le suivant :

运算结果:0             // 两个变量没有初始值则为 NULL ,执行两个空值相加后结果为 0

Dans l'exemple ci-dessus, deux variables globales $one et $twe sont déclarées en dehors de la fonction sum(), mais en PHP, les variables globales ne peuvent pas être utilisées directement dans la fonction. Par conséquent, les variables utilisées dans la fonction sum() sont $one et $twe, qui sont équivalentes à deux variables redéclarées et ne se voient pas attribuer de valeurs initiales. Ce sont des opérations sur deux valeurs nulles non définies, le résultat est donc 0. Si vous souhaitez utiliser des variables globales 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. into Dans la portée locale d'une fonction pour indiquer au corps de la fonction que cette variable est une variable globale.

Ce qui suit utilise le mot-clé "global" à l'intérieur de la fonction pour appeler la variable globale déclarée en dehors de la fonction à titre d'exemple :

<?php
 $one = 10;
 $two = 20;
 // 测试在函数内部使用关键字加载 global 全局变量 $one 和 $two
 function sum(){
   //在函数内部使用关键字加载 global 全局变量,加载多个使用逗号分隔
   global $one, $two;
   // 使用函数外部声明的全局变量
   echo "运算结果:".($one+$two)."<br>";
 }
 sum();    //调用函数
?>

Le résultat affiché après le le programme est exécuté Comme indiqué ci-dessous :

运算结果为 30         // 使用 global 关键字就可以加载全局变量在函数内使用

Le mot-clé "global" est utilisé pour importer des variables globales. Cela semble bien fonctionner et est simple, mais l'utilisation du mot-clé « global » pour définir des données globales suscite toujours des inquiétudes. Car il y a trois raisons :

1. La réutilisation du code est quasiment impossible.

Si une fonction dépend de variables globales, il est quasiment impossible d'utiliser cette fonction dans différents environnements. Un autre problème est que vous ne pouvez pas extraire cette fonction et l'utiliser dans un autre code.

2. Le débogage et la résolution des problèmes sont très difficiles.

Tracer une variable globale est beaucoup plus difficile que suivre une variable non globale. Une variable globale peut être redéfinie dans un fichier d'inclusion obscur, et même si vous disposez d'un très bon éditeur de programme (ou IDE) pour vous aider, cela peut vous prendre plusieurs heures pour découvrir le problème.

3. Il sera très difficile de comprendre ces codes.

Il est difficile de comprendre d'où vient une variable globale et à quoi elle sert. Au cours du processus de développement, vous connaîtrez peut-être toutes les variables globales, mais après environ un an, vous risquez d'en oublier au moins certaines. À ce stade, vous regretterez d'avoir utilisé autant de variables globales.

$GLOBALS

Utiliser des variables globales dans les fonctions En plus d'utiliser le mot-clé global, vous pouvez également utiliser une personnalisation php spéciale. Tableau $GLOBALS . L'exemple précédent pourrait être écrit en utilisant $GLOBALS au lieu de global.

Le code est le suivant :

<?php
 $one = 10;
 $two = 20;
 function sum(){
   //在函数内部使用 $GLOBALS 访问全局变量,
   $GLOBALS["two"] = $GLOBALS["one"] + $GLOBALS["two"];
 }
 sum();    //调用函数
 echo $two;
?>

Explication : Dans le tableau $GLOBALS, 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 il s'agit d'une variable superglobale.

Ce qui précède est la définition des variables globales et l'introduction d'exemples de variables globales dans le cadre des variables PHP. Le chapitre suivant présentera ce que sont les variables statiques statiques de PHP.

【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 à la maîtrise

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