PHP设置变量数组为空

PHP设置变量数组为空,php,Php,我在我的站点中使用这些变量: $_SESSION["domain.com"]["var1"] $_SESSION["domain.com"]["var2"] $_SESSION["domain.com"]["var3"] 等等。。。如何一次将所有这些变量设置为某个值?您只是想同时设置它们吗?只需将['domain.com']设置为数组 $_SESSION['domain.com'] = array( 'var1' => 'one', 'var2' => 'two',

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

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

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

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

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

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

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

我使用引用变量,因此循环可以直接修改元素,而不必分配给会话[$domain][$variable]

以下是一些示例代码,以帮助您启动并运行:

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

非常适合生产使用。

我认为没有内置任何功能。只需编写一个简单的循环。有许多不同的变量,有没有一种方法可以一次完成所有操作?“有许多不同的变量”-定义“许多”并自动递增?根据用户登录的类型,可能有10、20、30个变量。它从数据库中选择数据当我还是个孩子的时候,我学会了这个“a=b=c=d=e=0”,我也想到了这个,但OP说“可能有10,20,30个变量,取决于用户登录的类型。它从数据库中选择数据”——认为
WHERE
子句可能最合适;只是一个想法。