wangdoudou0 2012-05-16
global在函数产生 一个指向函数外部变量的别名 变量,而不是真正的函数外部变量,一但转变了别名 变量的指向地址,就会产生一些意料不到情况 ,例如例子1.
$GLOBALS[]确确凿实调用是外部的变量,函数内外会始终维持一致!
可以对照 下面两个列子:
global:
<?php
function myfunction(){
global$bar;
unset($bar);
}
$bar="someting";
myfunction();
echo$bar;
?>输出:someting
$global[]:
<?php
functionfoo()
{
unset($GLOBALS['bar']);
}$bar = "something";
foo();
echo$bar;
?>输出:空