PHP には、session_unset() と session_destroy() という 2 つのよく似た関数があります。どちらも、セッションに登録されているすべての変数を削除するために使用されますが、両者の違いは何ですか? session_unset() と session_destroy() の違いについては、次の記事で紹介していますので、ご参考になれば幸いです。 [ビデオチュートリアルの推奨: PHP チュートリアル ]
session_unset() 関数 #session_unset()
この関数はセッション内の変数を削除するだけで、セッションはまだ存在しており、データが切り捨てられるだけです。基本構文:
session_unset( void )session_destroy() 関数
##session_destroy()関数は次のようになります。破棄 現在のセッションに関連付けられたすべてのデータ。ただし、セッションに関連付けられたグローバル変数の設定は解除されず、セッション Cookie の設定も解除されません。
基本構文: <pre class="brush:php;toolbar:false">session_destroy( void )</pre>
関連トピックの推奨事項
:php セッションsession_unset() と session_destroy() の違い
session_unset() と session_destroy() の違いを見てみましょう。コード例まず、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' ; ?>出力:
例 1 : session_unset() 関数の使用
session_unset() 関数を使用する前に、名前と Web サイトが最初に表示されます。 <?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>';
?>
出力:
<?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(); ?>出力:
例 2: session_destroy() 関数の使用
session_destroy() 関数は破棄します変数を破棄するのではなく、セッション全体を実行します。 session_start() が呼び出されると、PHP はブラウザーにセッション Cookie を設定します。セッションを完全に破棄するには、Cookie を削除する必要もあります。 <?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();
?>
出力:
PHP プログラミングの入門から熟練度まで
以上がPHP の session_unset() と session_destroy() の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。