로부터 php.net의 문서 :
session_destroy — 세션에 등록 된 모든 데이터를 삭제합니다.
session_unset — 모든 세션 변수 해제
세 부분으로 구성된 질문은 다음과 같습니다.
두 기능은 매우 비슷해 보입니다.
둘의 차이점은 무엇입니까?
둘 다 세션에 등록 된 모든 변수를 삭제하는 것 같습니다. 그들 중 어떤 것이 실제로 세션 자체를 파괴합니까? 그렇지 않은 경우이를 어떻게 수행합니까 (세션 자체를 파괴).
두 기능 중 어느 것도 클라이언트에서 세션 쿠키를 삭제하지 않는 것이 맞습니까?
답변
session_unset
$_SESSION
변수를 지 웁니다 . 다음을 수행하는 것과 동일합니다.
$_SESSION = array();
따라서 이것은 로컬 $_SESSION
변수 인스턴스 에만 영향을 미치고 세션 저장소의 세션 데이터에는 영향을 미치지 않습니다.
이와 반대로 session_destroy
세션 저장소에 저장된 세션 데이터 (예 : 파일 시스템의 세션 파일)를 삭제합니다.
다른 모든 것은 변경되지 않습니다.
답변
session_destroy();
전체 세션을 삭제합니다.
session_unset();
세션에서 변수 만 삭제합니다. 세션이 여전히 존재합니다. 데이터 만 잘립니다.
답변
session_unset();
모든 세션 변수의 모든 데이터를 지우십시오.
session_destroy();
모든 세션을 제거하십시오.
예 :
session_start();
session_destroy();
$a = "1234";
$_SESSION[a] = $a;
$_SESSION[a]
입니다NULL
.
session_start();
session_unset();
$a = "1234";
$_SESSION[a] = $a;
$_SESSION[a]
입니다1234
.
따라서 다음을 사용합니다.
session_start();
session_destroy();
session_start();
$a = "1234";
$_SESSION[a] = $a;
답변
session_unset()
$_SESSION
에서와 같이 변수 를 지우지 array()
만 세션 파일은 건드리지 않습니다. 그러나 스크립트가 끝날 때; 의 상태가 $_SESSION
파일에 기록됩니다. 그런 다음 파일을 지우지 만 삭제하지는 않습니다. 사용할 때 (사용 후 사용 )을 session_destroy()
터치하지 않고 세션 파일을 삭제하므로 스크립트가 종료되면 .$_SESSION
var_dump($_SESSION)
session_destroy()
$_SESSION
답변
session_destroy()
페이지 이동 후 세션을
session_unset()
삭제하고 코드 실행시 세션을 삭제합니다.
답변
session_unset($_SESSION['session_name'])
특정 또는 개별 / 단일 세션 이름 만 설정 해제 할 것이라고 생각 하여 사용 하려고했습니다. 그러나 사용 session_unset($_SESSION['session_name'])
하면 모든 세션 이름이 설정 해제됩니다. 사용할 올바른 코드 unset($_SESSION['session_name'])
는 단일 세션 이름을 설정 해제하려는 경우 에만 가능합니다.
답변
session_start (); # 브라우저 실시간 메모리에 가상 어레이 (연관)를 생성합니다.
두 항목 추가
> $_SESSION['me'] = "Yadab";
> $_SESSION['you'] = "Avi";
>
> print_r($_SESSION); #will give, array( "me"=>"Yadab", "you"=>"Avi" )
test1
> unset($_SESSION['me']); #only 'me' variable is removed fully (index & value)
> print_r($_SESSION); #now the array is Array("you"=>"Avi")
test2
> session_destroy(); #will unset the values of all session variables, but indexes exists
> print_r($_SESSION); #Output, Array("you"=>undefined)
> #but some browser can store the value in cookies
test3
> session_unset(); #will unset all the main variables not only the values
> print_r($_SESSION); #that means session array is now empty, like Array()