如何使用set方法将数组值擦除到en session中?

时间:2014-01-18 16:33:51

标签: php session symfony

我在会话变量中有一个数组:

$data = array('test1' => 'val1', 'test2' => 'val2');
$Session->set('data', $data);

如何从会话中删除$data['test2']?有可能吗?

1 个答案:

答案 0 :(得分:0)

unset($data['test2']);
$Session->set('data', $data);

但为什么不设置两个不同的属性?

$Session->set('test1', $data['test1']);
$Session->set('test2', $data['test2']);

在这种情况下,您将能够使用remove()功能。 或者,您可以扩展Session并创建一个可以完成工作的函数。

use Symfony\Component\HttpFoundation\Session as BaseSession,

class Session extends BaseSession
{
    function removeFromData($key) 
    {
        $data = $this->get('data');
        unset($data[$key]);
        $this->set('data', $data)
    }