Variables 在PHP7中取消设置所有变量
我在PHP5.5.9中使用以下脚本来取消设置所有变量,这非常有效Variables 在PHP7中取消设置所有变量,variables,php-7,unset,Variables,Php 7,Unset,我在PHP5.5.9中使用以下脚本来取消设置所有变量,这非常有效 $vars = array_keys(get_defined_vars()); for ($i = 0; $i < sizeOf($vars); $i++) { unset($$vars[$i]); //this is line 72 } unset($vars,$i); 我的问题是如何使脚本在PHP7中工作 谢谢你的建议 您可以使用foreach而不是for来避免这些错误 $vars = array_keys(
$vars = array_keys(get_defined_vars());
for ($i = 0; $i < sizeOf($vars); $i++) {
unset($$vars[$i]); //this is line 72
}
unset($vars,$i);
我的问题是如何使脚本在PHP7中工作
谢谢你的建议 您可以使用
foreach
而不是for
来避免这些错误
$vars = array_keys(get_defined_vars());
foreach ($vars as $var) {
unset($$var);
}
unset($vars, $var);
$$vars[$i]
的求值顺序为。它现在严格地从左到右
以前,它会首先计算$vars[$i]
,然后根据$
的结果形成一个新变量
现在,它首先计算
$$vars
,然后尝试在结果中查找[$i]
。您的代码正常工作。谢谢你的解释,这对我很有用,因为我刚刚升级了服务器,对此一无所知。我已经更新了问题中的php版本。
$vars = array_keys(get_defined_vars());
foreach ($vars as $var) {
unset($$var);
}
unset($vars, $var);