php中怎样销毁一个静态变量?
function testStatic(){
unset($arr);
static $arr=array();
array_push($arr, 1,2,3);
var_dump($arr);
}
testStatic();
//array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
testStatic();
//array(6) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(1) [4]=> int(2) [5]=> int(3) }
第二次执行testStatic()时,使用unset无法正确销毁$arr ; 请问怎样才能彻底销毁static变量呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
文档
如果在函数中 unset() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。
From:http://php.net/manual/zh/func...
使用超全局变量,调用完后销毁。例
function test(){
$GLOBALS['test'] = [];
}
test();
$GLOBALS['test'] = [];