我在PHP中重置会话变量的值时遇到了问题。
我清除了所有浏览器Cookie并缓存并加载了一个页面。 调用页面的控制器,其中写入以下代码:
if(isset($_SESSION['event_generic_sequence'])){
unset($_SESSION['event_generic_sequence']);
}
$_SESSION['event_generic_sequence'] = array();
此控制器调用类文件中的函数,它检查会话是否已设置,然后将值附加到会话:
$_SESSION['event_generic_sequence'][] = $image_name;
在控制器结束时,如果打印了会话值,我会得到一个包含4个值的数组。因此,数组的计数是4:
[event_generic_sequence] => Array
(
[0] => 505_c.jpg
[1] => 505_c-1.jpg
[2] => 505_c-2.jpg
[3] => 505_c-3.jpg
)
当我重新加载页面时。调用控制器并将会话值设置为空数组。但是在类文件中,如果我打印会话值。它显示了会话的先前值。为什么类文件没有获得当前会话值,并且会话的值似乎已被缓存?
如果我清除浏览器cookie和缓存,会话值为空并且工作正常。但如果我没有持续会话的最后一个值。
答案 0 :(得分:0)
您可以使用session_start();
来启动会话,使用session_destroy();
来销毁会话,否则将该特定变量的会话设置为null或为空。