$foo = NULLとunset($foo)の違い

  • unsetはNULLの代入と等価ではない
  • unsetは「現在のコンテキストにおける変数の破棄」を行う
  • 関数内でunsetを用いる場合は、破棄対象の変数の型に注意(global変数、static変数、参照渡しの変数など)