欢迎访问宙启技术站
智能推送

PHP变量作用域与全局变量:如何使用global关键字

发布时间:2023-06-21 11:42:14

PHP变量作用域:介绍

PHP作为一种脚本语言,变量的作用域是很重要的。变量作用域指的是变量在程序中可以使用的范围。PHP中有三种变量作用域:

- 局部变量

- 全局变量

- 静态变量

局部变量是在函数内部声明的变量,只能在函数内部使用。全局变量是在函数外部声明的变量,可以在整个程序中使用。静态变量是在函数内部声明的变量,可以在函数内部使用,但是当函数执行结束后,静态变量的值会保留下来,并且下次函数执行时还是上一次保留下来的值。

本文将重点介绍PHP中的全局变量和使用global关键字来访问全局变量。

PHP全局变量:定义

在PHP中,全局变量是在程序任何地方都可以访问的变量,它的作用域在整个程序范围内有效。PHP中可以用$GLOBAL数组来存取全局变量,如下:

$var1 = "Hello";
$var2 = "PHP"; 
function test() { 
    global $var1, $var2; 
    echo $var1 . " " . $var2; 
}
test(); 

在上面的代码中,我们定义了两个全局变量$var1和$var2。然后我们定义了一个函数test(),在这个函数中使用了global关键字声明$var1和$var2是全局变量。因此,在函数中,我们可以直接使用$var1和$var2来访问全局变量。最后调用test()函数,输出结果为:Hello PHP。

如果没有使用global关键字声明全局变量,就不能在函数中访问全局变量。例如:

$var1 = "Hello";
$var2 = "PHP"; 
function test() { 
    echo $var1 . " " . $var2; 
}
test();

在上面的代码中,我们也定义了两个全局变量$var1和$var2,但是,在函数test()中没有使用global关键字声明全局变量,因此,我们无法在函数中访问这两个变量。最后执行上面的代码,输出结果为空。

PHP使用global关键字来访问全局变量

global是一个关键字,它用于在PHP中访问全局变量。global的作用是告诉PHP编译器,此变量是在全局作用域中声明的变量,不是在当前作用域中声明的变量。例如:

$var1 = "Hello";
$var2 = "PHP"; 
function test() { 
    global $var1, $var2; 
    echo $var1 . " " . $var2; 
}
test();

在上面的代码中,我们使用了global关键字来访问全局变量$var1和$var2。在函数test()中,我们使用global声明变量$var1和$var2是全局变量,因此我们可以在函数中访问这两个变量。最后执行上面的代码,输出结果为:Hello PHP。

如果在函数中没有使用global关键字声明变量,则变量会被认为是局部变量。例如:

$var1 = "Hello";
$var2 = "PHP"; 
function test() { 
    $var1 = "Hi"; 
    echo $var1 . " " . $var2; 
}
test();

在上面的代码中,我们在函数test()中重新声明了变量$var1,并没有使用global关键字声明变量$var1是全局变量。因此,$var1被认为是局部变量,输出的结果为:Hi PHP。在函数中,我们使用$var1的值是重新声明过的变量$var1的值,而不是全局变量$var1的值。

使用global关键字的注意事项

global关键字可以在任何作用域中使用,但是它只能用于变量,不能用于常量。另外,当使用global关键字声明多个变量时,需要使用逗号分隔开。例如:

$var1 = "Hello";
$var2 = "PHP"; 
function test() { 
    global $var1, $var2; 
    echo $var1 . " " . $var2; 
}
test();

在上面的代码中,我们使用逗号分隔开了两个变量的声明。

总结

在PHP中使用global关键字来访问全局变量非常简单,只需要在变量前面添加global关键字即可。使用global关键字需要注意的是,它只能用于变量,不能用于常量,而且不要忘记在不同的变量之间使用逗号分隔开。