php中的全局vs $ GLOBALS

时间:2016-03-10 23:54:18

标签: php globals

我知道最好使用引用传递而不是这样做,但我想知道为什么这个代码(代码1)工作正常但另一个代码(代码2)不会?

代码1:

[Value]

代码2:

<?php

$var = 5;

function unset_var() {
     unset($GLOBALS['var']);
}

unset_var();
echo $var; //Notice: Undefined variable: var 
?>

1 个答案:

答案 0 :(得分:2)

你的第二个代码有一个创建一个新变量的函数,你要取消该变量,而不是函数外的变量。您的第一个代码仅操作$ GLOBALS数组。

首先,你应该避免考虑全局变量......