• ベストアンサー

session_unsetを使う利点

session_unset()を実行すると$_SESSIONが要素数0の配列になりました。 $_SESSION=array();とするのと何が違うのですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • MrYoYoYo
  • ベストアンサー率33% (38/115)
回答No.2

同じです。 ただ、session_unset() は PHP4以降でないといけません。 そして、すべてのセッションデータを削除してしますので、セッションデータの一部を削除したい時には使えません。この関数は、ログインチェックを行うようなWEB上ではログアウト処理の時にしか使わないでしょう。 空arrayを入れ込むのは、特定の二次元配列を削除するのにも使えます。 $_SESSION['user'] = 'user_name'; $_SESSION['form'] = 'name'; $_SESSION['form'] = 'name2'; $_SESSION['form'] = 'name3'; $_SESSION['form'] = array(); //この場合は$_SESSION['user']はまだあります。 $_SESSION = array(); //すべてのセッションが消されます。 といった感じです。 すべてのデータを消す場合は、session_unset() のほうが個人的には好きです。

その他の回答 (1)

noname#49664
noname#49664
回答No.1

セッション変数用の関数 session_register()、 session_unregister()、session_is_registered()、session_unset() は、古いバージョンのPHPからあるもので、グローバル変数をセッション変数として取り扱うためのものです。互換性などの点から引き続き使える状態になっているんじゃないでしょうか。 現在のバージョン(PHP5など)では、$_SESSIONの初期化は、$_SESSION=array();が良いようです。人によっては、現在はsession_unset()は使うべきではないという人もけっこういます。

関連するQ&A