84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
session_start();$_SESSION['age']=189;如果是session_unset();session_destroy();var_dump($_SESSION);这样结果为空
而如果是这样:session_destroy();session_unset();本页面的session变量依然健在
求解,谢谢诸位
业精于勤,荒于嬉;行成于思,毁于随。
这个问题真的很有意思
session_destroy 是注销所有的session变量,并且结束session会话目前是删除当前用户对应的session文件以及释放session id值 ,但是但是 内存中的$_SESSION变量内容依然保留
session_unset() 并不注销session变量,但把所有的session变量的值清空.所以var_dump($_SESSION);时间看到的是空的哈。(因为你第一次清空了session然后有注销了所有的变量。)
session_unset()删除当前所有的session值,作用等于和 session_destroy()是一摸一样的哈;
但是 但是 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应session id 和值 !
一般正常情况下释放session的顺序是你的第一个方法
<? $_SESSION['age'] =189; session_unset(); session_destroy();
第一个方法原理是 : 先清空了变量的值释放内存中的变量session 被注销了
第二个方法是
先注销了 再删除但是内存中变量和值是存在的
这个问题真的很有意思
session_destroy 是注销所有的session变量,并且结束session会话目前是删除当前用户对应的session文件以及释放session id值 ,
但是但是 内存中的$_SESSION变量内容依然保留
session_unset() 并不注销session变量,但把所有的session变量的值清空.所以var_dump($_SESSION);时间看到的是空的哈。(因为你第一次清空了session然后有注销了所有的变量。)
session_unset()删除当前所有的session值,作用等于和 session_destroy()是一摸一样的哈;
但是 但是 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应session id 和值 !
一般正常情况下释放session的顺序是你的第一个方法
第一个方法原理是 :
先清空了变量的值
释放内存中的变量
session 被注销了
第二个方法是
先注销了
再删除
但是内存中变量和值是存在的