小编带你学变量之php中的$GLOBALS

什么是$GLOBALS变量

PHP中,超全局变量指的是范围在整个脚本的内部和外部都可以访问的变量。在PHP中,有很多超全局变量,例如$_GET、$_POST等。而$GLOBALS也是一个超全局变量。

在PHP中,$GLOBALS是一个包含了全部变量的全局数组。用$my_var = "Hello world"声明的变量,可以通过$GLOBALS["my_var"]的方式在脚本的任何位置进行访问。$GLOBALS数组中的元素的键名是变量名,元素的键值是变量的值。因此,在通过$GLOBALS数组访问变量之前,该变量必须在脚本中声明过。

如何使用$GLOBALS变量

使用$GLOBALS变量可以在任何函数、类或文件中使用。

案例演示

$my_var = "Hello world"; //声明一个变量

function my_func() {

echo $GLOBALS["my_var"]; //在my_func()函数中使用$GLOBALS变量输出Hello world

}

my_func();

注意:

$GLOBALS数组的使用被认为是一种不好的编程实践,因为它破坏了数据的封装性和抽象性。在实际编程中,应该使用局部变量、函数参数和对象属性等方式来进行数据传递和共享。$GLOBALS数组应该只被在绝对必要的情况下使用。

应用实例

下面这个例子展示了如何使用$GLOBALS变量从不同的文件中访问变量。

在file1.php中声明一个变量

$my_var = "Hello world"; //在file1.php中声明一个变量

在file2.php中访问该变量

include("file1.php"); //在file2.php中导入file1.php文件

function my_func() {

echo $GLOBALS["my_var"]; //在file2.php文件的my_func()函数中使用$GLOBALS变量输出Hello world

}

my_func();

上述例子中,使用include()函数在file2.php文件中导入了file1.php文件,并在my_func()函数中使用$GLOBALS变量访问了file1.php文件中的变量。

结论

尽管省略了在函数和类中不必要的传递变量的步骤,但使用$GLOBALS超全局变量应该被视为最后的手段。

请注意,访问$GLOBALS数组只能使用全局范围,并且也可能不利于代码的可读性和测试。因此,全局变量的使用应该谨慎考虑,仅在必要的情况下使用。

后端开发标签