老师,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'); 赋值
举报