こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

PHP セッション unset と null

unset($_SESSION["hoge"]);

$_SESSION["hoge"] = null;

2つの挙動は同じでしょうか?

投稿日時 - 2018-07-11 14:45:49

QNo.9517273

困ってます

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

php自体の環境設定にもよりますが、実際の運用上はほぼ同じ意味になりますね。ただしプログラム内部的には明確に違う処理が成されているため、安易に同じモノだと覚えないでください。

unset() は変数や配列の存在自体を抹消削除する関数であり、本来であれば Undefined を返すのが正しい挙動であると思われますが…php上では何故か NULL が代替値として返されます。

従って不要になった変数を削除する際に、unset() の代わりに $hoge = null; を行う様に記述された解説書などもありますが。しかしこれは明確に誤りであり、unset() と null は全く別の概念であると学習すべきです。

- 参考リンク:NULLと未定義の違い https://qiita.com/mpyw/items/0a4ea0bc9a695da33f0c

投稿日時 - 2018-07-11 16:22:38

お礼

ああ 確かにunset だと undefinedの状態に戻りますね。

ありがとうございます。

投稿日時 - 2018-07-11 17:26:01

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-