复制代码
代码如下:
<?PHP
function test_global()
{
// 大多数的预定义变量并不 "super",它们需要用 'global' 关键字来使它们在函数的本地区域
中有效。
global $HTTP_POST_VARS;echo $HTTP_POST_VARS['name'];// Superglobals 在任何范围内
都有效,它们并不需要
'global' 声明。Superglobals 是在 PHP 4.1.0 引入的。
echo $_POST['name'];
}
?>
global 也就是说在一个文件里 只要你声明为 global $db 那么在声明的下面 你就可以引用这
个
$db 了。
4.原来以为 global 和$GLOBALS 除了写法不一样以为,其他都一样,可是在实际应用中发现,2
者的区别还是很大的
!
先看下面的例子
:
复制代码
代码如下:
<?php
// 例子 1
function test_global() {
global $var1, $var2;
$var2 =& $var1;
}
function test_globals() {
$GLOBALS['var3'] =& $GLOBALS['var1'];
}
$var1 = 5;
$var2 = $var3 = 0;
test_global();
print $var2 ."\n";
test_globals();
print $var3 ."\n";
?>
复制代码
执行结果为
:
0
5
怎么会这样呢
?不应该是 2 个 5 吗?怎么会出现 1 个 0 和 1 个 5 呢?
恩
,我们保留以上问题,深入分析$GLOBALS 和 global 的原理!
我们都知道变量其实是相应物理内存在代码中的
"代号",假设我们上面声明的 3 个变量分配