如何从Kohana中的会话对象获取数组


How To Get Array From Session Object In Kohana?

我使用的是Kohana 3.0,需要从Session对象中获取数组。

例如:

$session = Session::instance();
$session->set(
    'myArray'
    array(
        'key1' => 'foo',
        'key2' => 'bar'
    )
);
// How to get specific array element?

我原以为这会起作用,但它返回了null

$session->get('myArray.key2');

想了又想(哈哈!)我想出来了。。。

$myArray = $session->get('myArray');
$key1 = $myArray['key1'];

没事吧?有更好的方法吗?

第页。S.阵列取消引用何时可用。。。要用它!=]

$key1 = $session->get('myArray')['key1']; // Lets hope that this work!
  1. 检索基本var并使用标准Arr助手

     Arr::get($session->get('myArray', array()), 'key1');
    
  2. 使用会话数据作为数组:

     $data = & $session->as_array();
     $key1 = Arr::path($data, 'myArray.key1');
     $data['myArray']['key2'] = 'foo'; // also you can set data