PHP 变量范围 (Variable scope)

来源:百度文库 编辑:神马文学网 时间:2024/04/28 13:15:04

上一章我们讲述了 PHP 函数(Functions),这一章我们讲述变量的作用范围 (Variable scope) 。我们有必要搞清楚函数内部的变量,和函数外部的变量的区别。

全局变量 (global variables)和局部变量 (local variables)

我们将函数内部的变量称为局部变量 (local variables)。通常它只作用于该函数内部,只能在函数内部被访问到,它不影响函数外的代码。

函数外部的变量,我们称为全局变量 (global variables)。通常它作用在函数外部。它不影响函数内部。

我们看一个示例,下面这个示例,虽然两个变量名都叫 $a,但是表示两个不同的变量,一个在函数外部,一个在函数内部。



$a = "Boston Legal";
function getA()
{
$a ="House";
return $a;
}
echo $a."
";
echo getA();
?>


返回的结果是:

Boston Legal
House

函数外部变量 $a 的值为"Boston Legal",函数内部变量 $a 的值为"House"。

在函数内部访问全局变量

如果你想在函数内部也能访问到某个全局变量,可以使用$GLOBALS$GLOBALS 是个 PHP 超全局变量。示例如下:



$a = "Boston Legal";
function getA()
{
$a ="House"."
".$GLOBALS['a'];
return $a;
}
echo getA();
?>


$GLOBALS 是一个全局变量数组,该数组的 key 是全局变量名,该数组的值是全局变量的内容。

示例中$GLOBALS['a']表示函数外部的全局变量 $a。