$a
= 1;
/* global scope */
function
Test()
{
echo
$a
;
/* reference to local scope variable */
}
Test();
?>
这个脚本不会有任何输出,因为
echo
语句引用了一个局部版本的变量
$a
,而且在这个范
围内,它并没有被赋值。你可能注意到
PHP 的全局变量和 C 语言有一点点不同,在 C 语言
中,全局变量在函数中自动生效,除非被局部变量覆盖。这可能引起一些问题,有些人可能
漫不经心的改变一个全局变量。
PHP 中全局变量在函数中使用时必须申明为全局。
代码如下
:
<?php
$a
= 1;
$b
= 2;
function
Sum()
{
global
$a
,
$b
;
$b
=
$a
+
$b
;
}
Sum();
echo
$b
;
?>
以上脚本的输出将是
“3”。在函数中申明了全局变量
$a
和
$b
,任何变量的所有引用变量都
会指向到全局变量。对于一个函数能够申明的全局变量的最大个数,
PHP 没有限制。