0

假设我声明了一些变量 - 但我不知道具体是哪个,我只有一个带有变量名的数组。

$variable_list = array('var1', 'var2', 'var3', 'var4');

我们继续并分配一些值。

foreach($variable_list as $var_name){
$$var_name = rand(100,1000);
}

现在我想以类似的方式取消设置这些变量。不要从列表中删除它们,而是取消设置 ACTUAL 变量。

foreach($variable_list as $var_name){
unset($var_name);
}

这不起作用。有任何想法吗?

4

2 回答 2

5
foreach($variable_list as $var_name){
unset($$var_name);
}

PHP 手册

于 2012-05-22T12:09:01.060 回答
0

为什么要使用变量变量 ( $$var_name) 设置它们而不像那样取消设置它们?这应该有效:

foreach($variable_list as $var_name){
    unset($$var_name);
}

但是,既然你说:

现在我想 [...] 不要从列表中删除它们,而是取消设置 ACTUAL 变量。

只需使用:

foreach($variable_list as $var_name){
    $$var_name = null;
}
于 2012-05-22T12:12:40.607 回答