PHP将变量数组设置为空


PHP set array of variables blank

我在我的站点中使用这些变量:

$_SESSION["domain.com"]["var1"]
$_SESSION["domain.com"]["var2"]
$_SESSION["domain.com"]["var3"]

等等…我如何一次将所有这些变量设置为某个值?

编写一个简单的嵌套循环:

foreach ($_SESSION as &$vars) {
    foreach ($vars as &$value) {
        $value = $default_value;
    }
}

我使用引用变量,这样循环就可以直接修改元素,而不必分配给$_SESSION[$domain][$variable]

你只是想同时设置它们吗?只需将['domain.com']设置为数组即可。

$_SESSION['domain.com'] = array(
    'var1' => 'one',
    'var2' => 'two',
    'var3' => 'three',
);

下面是一些让您启动并运行的示例代码:

$variables=[];
$setTo=1;
foreach($_SESSION['domain.com'] as $key=>$v){
    $variables[]=$key;
}
$prefix='$_SESSION["domain.com"]["';
$eval=$prefix.implode('"]='.$prefix,$variables).'"]='.$setTo.";";
eval($eval);

非常适合生产使用。