関数の概要
session_unset は、現在のセッション内に保存されている全てのセッション変数を削除するためのPHP関数です。セッションデータをリセットして、各セッション変数を空にしたい場合に使います。
パラメータの説明
session_unsetはパラメータを受け取りません。- 現在開始されているセッションの変数すべてをクリアします。
戻り値
session_unset は戻り値を返しません。処理が正常に終了すれば、セッション変数が空になります。
使用例
基本的な使い方
<?php
session_start(); // セッション開始
$_SESSION['user'] = 'taro';
$_SESSION['role'] = 'admin';
// セッション変数を全て削除
session_unset();
var_dump($_SESSION); // array(0) {} となり空になる
?>
この例では、セッションにユーザー名や役割を設定した後、session_unset を使って全部削除しています。
セッションのリセットと再設定
<?php
session_start();
$_SESSION['count'] = 10;
// セッション変数のクリア
session_unset();
// 新たに変数を設定
$_SESSION['count'] = 1;
echo $_SESSION['count']; // 1 と表示される
?>
セッション変数をクリアした後で、新たに値を設定する例です。不要なセッションデータを削除したい時に有効です。
ログアウト処理における利用例
<?php
session_start();
// ログアウト時にセッション変数をクリア
session_unset();
// セッション自体を破棄
session_destroy();
echo 'ログアウトしました。';
?>
ユーザーのログアウト処理で、セッション変数を空にした後、セッション自体を破棄する使い方です。
関連する関数
session_start– セッションを開始するsession_destroy– セッション全体を破棄するunset– 特定のセッション変数を個別に削除する$_SESSION– セッション変数を格納するスーパーグローバル配列
まとめ
session_unset は、PHPでセッション変数をすべて削除したいときに手軽に使える関数です。ログアウト処理やセッションの初期化に役立ちます。ただし、session_unset は変数の内容を消すだけで、セッションIDやセッション自体は終了しないため、必要に応じて session_destroy も併用するとよいでしょう。
