function unset_test(){
global $a;
$a = 'b';
unset($a);
}
$a = 'a';
unset_test();
echo $a;//输出 b
如果在函数中 unset()一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。function unset_test1(&$pram){
$pram = 'cc';
unset($pram);
}
$c = 'c';
unset_test1($c);
echo $c;//输出cc 如果您想在函数中 unset()一个全局变量,可使用 $GLOBALS数组来实现:function unset_test2(){
$GLOBALS['d'] = 'dd';
unset($GLOBALS['d']);
}
$d = 'f';
unset_test2();
echo $d;//输出空 如果在函数中 unset()一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。function unset_test3(){
static $num=0;
$num++;
echo $num;
unset($num);
}
unset_test3();//输出1
unset_test3();//输出2
unset_test3();//输出3