一回も披露したことのない豆知識

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

A 回答 (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() のほうが個人的には好きです。
    • good
    • 0

セッション変数用の関数 session_register()、 session_unregister()、session_is_registered()、session_unset() は、古いバージョンのPHPからあるもので、グローバル変数をセッション変数として取り扱うためのものです。

互換性などの点から引き続き使える状態になっているんじゃないでしょうか。

現在のバージョン(PHP5など)では、$_SESSIONの初期化は、$_SESSION=array();が良いようです。人によっては、現在はsession_unset()は使うべきではないという人もけっこういます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報