php - 使用 for 循环从变量数组中取消设置变量

php - unset variable from variable array with for loop

我想创建一个 for 循环以取消数组中特定变量的设置。我无法在互联网上找到任何答案。这是我的代码。

$randomnumber=242;
$variables= array('var','var2','randomnumber');
for ($i = 0; $i < count($variables); $i++) {
unset($variables[$i]);
}

echo $randomnumber;

输出为:

242

我不知道我错过了什么。请帮帮我。我想取消设置 "variables" 数组中的 "var1"、"var2" 和 "randomnumber" 变量。输出应该是 "undefined variable : $randomnumber" 或类似的东西。

代码

unset($variables[$i]);

表示

unset value with key $i from array $variables

如果您想取消设置名称为 $variables[$i] 的变量,那么您应该使用 variable variable:

$randomnumber=242;
$variables= array('var','var2','randomnumber');
for ($i = 0; $i < count($variables); $i++) {

    // variable variable syntax here
    unset(${$variables[$i]});

}

echo $randomnumber;

更简单、更快速的解决方案:

$randomnumber = 242;
$variables = ['var', 'var2', 'randomnumber'];

foreach ($variables as $variableName) {
    unset($$variableName);
}