>  기사  >  백엔드 개발  >  PHP에서 session_unset()과 session_destroy()의 차이점은 무엇입니까

PHP에서 session_unset()과 session_destroy()의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2019-03-15 10:34:414958검색

PHP에는 매우 유사한 두 가지 함수 session_unset()과 session_destroy()가 있는데, 둘 다 세션에 등록된 모든 변수를 삭제하는 데 사용되는데, 두 함수의 차이점은 무엇인가요? 다음 글에서는 session_unset()과 session_destroy()의 차이점을 소개하겠습니다. 도움이 되길 바랍니다. [동영상 튜토리얼 추천: PHP 튜토리얼]

PHP에서 session_unset()과 session_destroy()의 차이점은 무엇입니까

session_unset() function

session_unset()함수는 세션의 변수만 삭제하며 세션은 여전히 ​​존재합니다. 데이터만 잘라냅니다. session_unset()函数只删除会话中的变量,会话仍然存在;它仅会截断数据。

基本语法:

session_unset( void )

session_destroy()函数

session_destroy()

기본 구문:

session_destroy( void )

session_destroy() 함수 session_destroy() 이 함수는 현재 세션과 관련된 모든 데이터를 삭제하지만 세션과 관련된 데이터를 설정 해제하지는 않습니다. 전역 변수와 세션 쿠키는 설정 해제되지 않습니다.

기본 구문:

<?php 
header("content-type:text/html;charset=utf-8");
// 启动会话
session_start(); 
  
//显示会话ID
echo session_id(); 
  
// 检查会话名称是否存在
if( isset($_SESSION[&#39;name&#39;]) ) { 
    echo &#39;<br>&#39; . &#39;会话还有效.&#39;; 
} 
else { 
    echo &#39;<br>&#39; . &#39;会话已销毁&#39;; 
} 
  
$_SESSION[&#39;name&#39;] = &#39;PHP中文网!&#39;; 
$_SESSION[&#39;website&#39;] = &#39;www.php.cn&#39; ; 
  
?>
관련 주제 추천:

php 세션

(그림, 비디오, 사례 포함)


session_unset()과 session_destroy()의 차이점

PHP에서 session_unset()과 session_destroy()의 차이점은 무엇입니까

다음은 코드 예제 session_unset()과 session_destroy()의 차이점을 살펴보겠습니다

먼저 session.php 파일을 사용하여 세션을 저장합니다

<?php 
header("content-type:text/html;charset=utf-8");
// 启动会话
session_start(); 
  
// 检查会话名称是否存在
if( isset($_SESSION[&#39;name&#39;]) ) { 
    echo &#39;<br>&#39; . &#39;会话还有效&#39;.&#39;<br>&#39;; 
} 
else { 
    echo &#39;<br>&#39; . &#39;会话已销毁&#39;; 
} 
echo $_SESSION[&#39;name&#39;].&#39;<br>&#39;; 
echo $_SESSION[&#39;website&#39;].&#39;<br>&#39;; 
  
?>

출력:

PHP에서 session_unset()과 session_destroy()의 차이점은 무엇입니까

예제 1: session_unset( ) function

session_unset() 사용 후 함수 이전에 이름과 웹사이트가 먼저 표시됩니다.

<?php 
header("content-type:text/html;charset=utf-8");
// 启动会话
session_start(); 
  
// 检查会话名称是否存在
if( isset($_SESSION[&#39;name&#39;]) ) { 
    echo &#39;<br>&#39; . &#39;会话还有效&#39;.&#39;<br>&#39;; 
} 
else { 
    echo &#39;<br>&#39; . &#39;会话已销毁&#39;; 
} 
echo $_SESSION[&#39;name&#39;].&#39;<br>&#39;; 
echo $_SESSION[&#39;website&#39;].&#39;<br>&#39;; 
// 使用session_unset()函数
session_unset(); 
?>

출력: PHP에서 session_unset()과 session_destroy()의 차이점은 무엇입니까

session_unset() 함수를 사용한 후 사용 중이던 'name' 및 'website'와 같은 변수가 삭제되었습니다.

<?php 
header("content-type:text/html;charset=utf-8");
// 启动会话
session_start(); 
  
// 检查会话名称是否存在
if( isset($_SESSION[&#39;name&#39;]) ) { 
    echo &#39;<br>&#39; . &#39;会话还有效&#39;.&#39;<br>&#39;; 
} 
else { 
    echo &#39;<br>&#39; . &#39;会话已销毁&#39;; 
} 
  
echo $_SESSION[&#39;name&#39;].&#39;<br>&#39;; 
echo $_SESSION[&#39;website&#39;].&#39;<br>&#39;; 
  
$_SESSION = array(); 
  
// 如果想要终止会话,需要删除会话cookie。
// 注意:这将破坏会话,而不仅仅是会话数据!
if (ini_get("session.use_cookies")) { 
    $params = session_get_cookie_params(); 
    setcookie(session_name(), &#39;&#39;, time() - 42000, 
        $params["path"], $params["domain"], 
        $params["secure"], $params["httponly"] 
    ); 
} 
  
// 最后,销毁会话。
session_destroy(); 
  
?>

출력:

PHP에서 session_unset()과 session_destroy()의 차이점은 무엇입니까

예 2: session_destroy() 함수

session_destroy() 함수를 사용하면 변수를 삭제하는 대신 전체 세션을 삭제합니다. session_start()가 호출되면 PHP는 브라우저에 세션 쿠키를 설정합니다. 세션을 완전히 삭제하려면 쿠키도 삭제해야 합니다. PHP에서 session_unset()과 session_destroy()의 차이점은 무엇입니까rrreee

출력:

설명: echo session_id(); 문을 실행하면 다른 세션 ID가 있음을 확인할 수 있습니다. 이는 이전 세션이 삭제되었으며 모든 변수와 쿠키도 삭제되었음을 의미합니다. 파괴되었습니다. 모든 변수가 소멸되므로 세션 존재 여부를 감지하면 else 조건부 출력 '세션이 파괴되었습니다'로 이동합니다.

🎜🎜 참고: 세션을 종료하려면 세션 쿠키도 삭제하세요. 이렇게 하면 세션 데이터뿐만 아니라 세션도 삭제됩니다. 🎜🎜🎜관련 학습 권장 사항: 🎜초보부터 마스터까지 PHP 프로그래밍🎜🎜🎜

위 내용은 PHP에서 session_unset()과 session_destroy()의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.