解決済み

PHP セッション unset と null

  • 困ってます
  • 質問No.9517273
  • 閲覧数117
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 73% (582/793)

unset($_SESSION["hoge"]);

$_SESSION["hoge"] = null;

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

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

  • 回答No.1

ベストアンサー率 69% (868/1253)

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

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

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

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

お礼率 73% (582/793)

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

ありがとうございます。
投稿日時 - 2018-07-11 17:26:01
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


OKWAVE若者応援スペシャル企画

ピックアップ

ページ先頭へ