PHP手册说'unset()会破坏指定的变量。'它有以下示例:
<?php
function destroy_foo()
{
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
?>
上面的代码将输出:
bar
那么'未设置'是做什么的?不明白。请解释一下。
答案 0 :(得分:4)
global使局部变量成为对全局范围中变量的引用。当您在函数内部取消设置时,您将取消设置该引用,而不是“上方”变量。
e.g。
function foo() {
global $bar;
unset($bar);
}
在很大程度上与
做同样的事情function foo() {
$bar = &$GLOBALS['bar'];
unset($bar); // kill the local reference, not the global variable.
}
眼睛看起来有点容易。
答案 1 :(得分:0)
除了Marc的评论之外,unset通常以各种方式使用。只是一个例子 -
取消设置数组中的某个项目:
$arr = array("a","b","c");
unset($arr['b']);
print_r($arr);
//gives us
//array("a","c");