我想知道到底发生了什么,当我这样做:PHP和功能范围
$my_variable = 'foo';
function whatever(){
$my_variable = 'bar';
global $my_variable;
}
我知道,功能$my_variable
的范围内,现在是“富”。
内部发生了什么事?当我在我的函数中做$my_variable = 'bar';
时,我创建了一个局部变量。当我在下一行做global $my_variable;
究竟发生了什么?本地的一个会自动删除?
我相信当'global'被调用时,本地版本摧毁那里。我从函数中的unset()函数和[unset docs](http://php.net/manual/en/function.unset.php)中的这个声明推断出这一点:*如果一个全局变量是unset()函数内部,只有局部变量被销毁。调用环境中的变量将保持与调用unset()之前相同的值。* – Fluffeh 2012-08-06 01:35:26