将会话中的所有参数放入变量中

时间:2012-01-02 10:41:49

标签: php arrays session variables parameters

我有以下代码:

if(isset($_SESSION["spgrund"])) {
    $spgrund = $_SESSION["spgrund"];
}else{
    $spgrund = '';
}

对于每个会话变量,此代码重复约20次。我该如何制作一个循环呢?

foreach($_SESSION as $key => $value){
    $$key = $value;
}

我认为这应该有效。但我收到undefined variable错误消息。我不能用这样的循环吗?

2 个答案:

答案 0 :(得分:3)

您实际尝试实现的内容已经在PHP中提供,extract­Docs函数:

extract($_SESSION);

从它的文档:

  

将数组中的变量导入当前符号表。

     

检查每个键以查看它是否具有有效的变量名称。它还检查符号表中与现有变量的冲突。

但是你仍然需要寻找未定义的变量。你可能应该先定义它们吗?

答案 1 :(得分:0)

foreach($_SESSION as $key => $value)
{
    $$key = $value;
}

您错过了$的价值