老师,session数组怎么不能设成二维的数组那?
老师,session数组怎么不能设成二维的数组那?
老师,session数组怎么不能设成二维的数组那?
 
                            2016-03-09
你可以看一下session的内部实现
/**
 * This method is required by the interface [[\ArrayAccess]].
 * @param integer $offset the offset to set element
 * @param mixed $item the element value
 */
public function offsetSet($offset, $item)
{
    $this->open();
    $_SESSION[$offset] = $item;
}
是利用 $_SESSION[$offset] = $item; 来实现$session['user'] 这种赋值方式的,
$session['user'] = '**' 实际上最终是调用了 $session->offsetSet('user','**'); 这个接口方法,
所以直接$session['user'][] 或者 $session['user']['xxx'] 是会报错的,
二维数组你可以用 $session['user'] = array('1','2','3'); 赋值
举报