Es gibt zwei sehr ähnliche Funktionen session_unset() und session_destroy() in PHP. Beide werden zum Löschen aller für die Sitzung registrierten Variablen verwendet. Was sind also die Unterschiede zwischen ihnen? Der folgende Artikel stellt Ihnen den Unterschied zwischen session_unset() und session_destroy() vor. Ich hoffe, er wird Ihnen hilfreich sein. [Video-Tutorial-Empfehlung: PHP-Tutorial]
session_unset()-Funktion
session_unset()
Die Funktion löscht nur die Variablen in der Sitzung, die Sitzung existiert noch; sie schneidet nur die Daten ab.
Grundlegende Syntax:
session_unset( void )
session_destroy()-Funktion
session_destroy()
Die Funktion zerstört alle mit dem verknüpften Dateien aktuelle Sitzungsdaten; es werden jedoch weder globale Variablen, die mit der Sitzung verknüpft sind, noch das Sitzungscookie gelöscht.
Grundlegende Syntax:
session_destroy( void )
Ähnliche Themenempfehlungen: PHP-Sitzung (einschließlich Bilder, Texte, Videos, Fälle)
Der Unterschied zwischen session_unset() und session_destroy()
Das Folgende ist ein Codebeispiel, um den Unterschied zwischen session_unset() und session_destroy zu sehen ()
Speichern Sie zuerst die Sitzung mit der Datei session.php
<?php header("content-type:text/html;charset=utf-8"); // 启动会话 session_start(); //显示会话ID echo session_id(); // 检查会话名称是否存在 if( isset($_SESSION['name']) ) { echo '<br>' . '会话还有效.'; } else { echo '<br>' . '会话已销毁'; } $_SESSION['name'] = 'PHP中文网!'; $_SESSION['website'] = 'www.php.cn' ; ?>
Ausgabe:
Beispiel 1: Verwendung der Funktion session_unset()
Vor Verwendung der Funktion session_unset() werden zunächst der Name und die Website angezeigt.
<?php header("content-type:text/html;charset=utf-8"); // 启动会话 session_start(); // 检查会话名称是否存在 if( isset($_SESSION['name']) ) { echo '<br>' . '会话还有效'.'<br>'; } else { echo '<br>' . '会话已销毁'; } echo $_SESSION['name'].'<br>'; echo $_SESSION['website'].'<br>'; ?>
Ausgabe:
Nach der Verwendung der session_unset()-Funktion wurden die verwendeten Variablen wie „Name“ und „Website“ zerstört.
<?php header("content-type:text/html;charset=utf-8"); // 启动会话 session_start(); // 检查会话名称是否存在 if( isset($_SESSION['name']) ) { echo '<br>' . '会话还有效'.'<br>'; } else { echo '<br>' . '会话已销毁'; } echo $_SESSION['name'].'<br>'; echo $_SESSION['website'].'<br>'; // 使用session_unset()函数 session_unset(); ?>
Ausgabe:
Beispiel 2: Verwendung der Funktion „session_destroy()“
Funktion „session_destroy()“ zerstört gesamte Sitzung, anstatt Variablen zu zerstören. Wenn session_start() aufgerufen wird, setzt PHP ein Sitzungscookie im Browser. Außerdem müssen wir die Cookies löschen, um die Sitzung vollständig zu zerstören.
<?php header("content-type:text/html;charset=utf-8"); // 启动会话 session_start(); // 检查会话名称是否存在 if( isset($_SESSION['name']) ) { echo '<br>' . '会话还有效'.'<br>'; } else { echo '<br>' . '会话已销毁'; } echo $_SESSION['name'].'<br>'; echo $_SESSION['website'].'<br>'; $_SESSION = array(); // 如果想要终止会话,需要删除会话cookie。 // 注意:这将破坏会话,而不仅仅是会话数据! if (ini_get("session.use_cookies")) { $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"] ); } // 最后,销毁会话。 session_destroy(); ?>
Ausgabe:
Erklärung: Beim Ausführen der echo session_id();-Anweisung können Sie sehen, dass es eine andere Sitzungs-ID gibt, was bedeutet vorherige Die Sitzung wurde zerstört, ebenso wie alle Variablen und Cookies. Da alle Variablen zerstört werden, wird beim Erkennen, ob die Sitzung vorhanden ist, die bedingte Ausgabe „Session has been destroy“ (Sitzung wurde zerstört) von else ausgegeben.
Hinweis: Wenn Sie die Sitzung beenden möchten, löschen Sie bitte auch das Sitzungscookie. Dadurch wird die Sitzung zerstört, nicht nur die Sitzungsdaten.
Verwandte Lernempfehlungen: PHP-Programmierung vom Einstieg bis zur Beherrschung
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen session_unset() und session_destroy() in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!