温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP全局变量怎么在函数中调用

发布时间:2021-08-09 17:51:37 来源:亿速云 阅读:579 作者:chen 栏目:编程语言

这篇文章主要讲解了“PHP全局变量怎么在函数中调用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP全局变量怎么在函数中调用”吧!

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

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

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

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

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo '$a = '.$a;
	echo '<br>$b = '.$b;
	echo '<br>$c = '.$c;
}
demo();
?>

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

PHP全局变量怎么在函数中调用

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

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

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

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
	global $a,$b,$c;
    echo '$a = '.$a;
    echo '<br>$b = '.$b;
    echo '<br>$c = '.$c;
}
demo();
?>

看看输出结果为:

$a = 1
$b = 2
$c = 3

分析:

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

再来看一个例子:

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo '$a = '.$GLOBALS['a'];
    echo '<br>$b = '.$GLOBALS['b'];
    echo '<br>$c = '.$GLOBALS['c'];
}
demo();
?>

输出结果为:

$a = 1
$b = 2
$c = 3

分析:

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

global和$GLOBALS的区别

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

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

    原因:

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

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

感谢各位的阅读,以上就是“PHP全局变量怎么在函数中调用”的内容了,经过本文的学习后,相信大家对PHP全局变量怎么在函数中调用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI