PHP变量学习之什么是全局变量?怎么在函数中调用

青灯夜游
Libérer: 2023-03-11 22:54:02
original
4623 Les gens l'ont consulté

在上一篇文章《PHP如何动态设置变量的名称》中,我们介绍了PHP中的可变变量,了解了动态设置变量名称的方法。这次我们来看看在函数内部调用全局变量的方法,有需要的可以参考参考。

在介绍函数内部调用全局变量方法之前,我们来了解一下变量作用域和全局变量

变量作用域,简单来说就是变量可以被使用的范围,必须在其有效范围内使用,如果超出有效范围,变量就会失去其意义。

按作用域分,变量可以分为局部变量和全局变量。

局部变量是指声明在函数内部的变量,只能在函数内使用;而全局变量是指声明在函数外的变量,其作用域是当前源码的任何地方,但是在函数内部是不可用的。

$b = '.$b; echo '
$c = '.$c; } demo(); ?>
Copier après la connexion

分析:在函数demo()中想要输出全局变量$a、$b、$c,会发现不输出且报错:

1.png

但有时我们就必须要在函数内使用全局变量,这要怎么办?

PHP提供了两种解决方法:global关键字和$GLOBALS超全局变量。

我们看看下面的一个示例:

$b = '.$b; echo '
$c = '.$c; } demo(); ?>
Copier après la connexion

看看输出结果为:

$a = 1 $b = 2 $c = 3
Copier après la connexion
Copier après la connexion

分析:

global关键字的作用是:导入全局变量,利用global 变量1, 变量2, ...的形式把全局变量1, 变量2...导入到一个函数的局部范围内,就可以在函数内部使用在函数外部定义的全局变量了。

再来看一个例子:

$b = '.$GLOBALS['b']; echo '
$c = '.$GLOBALS['c']; } demo(); ?>
Copier après la connexion

输出结果为:

$a = 1 $b = 2 $c = 3
Copier après la connexion
Copier après la connexion

分析:

$GLOBALS是一种预定义变量(又叫超全局变量),是包含所有变量的全局组合数组,变量的名称就是数组的键,可以使用$GLOBALS['变量名']的形式来访问指定全局变量。只要是出现过的全局变量,就可以通过$GLOBALS这个数组取得。

global和$GLOBALS的区别

  • global只能在函数内部使用,不能在函数外部使用;而$GLOBALS 可以在程序的任意位置(函数内外)都能使用。

  • 在函数内部销毁一个使用 global 关键字修饰的变量时,函数外部的变量不受影响;而$GLOBALS是有影响的。

    原因:

    使用 global 关键字修饰的$var变量时,是对函数外部同名变量的引用,内外是两个互不影响的变量;

    而 $GLOBALS['var'] 指的就是函数外部变量本身,是一个变量。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

最后给大家推荐一个PHP数组的免费视频教程:从0开始进入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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!