2

いくつかのメソッド内にクラス変数が設定されているクラスがあります。クラスには、unset()関数を使用してクラス変数の設定を解除する__destruct()関数があります。

現在、__ destructで設定を解除するすべての変数をリストしていますが、すべてを設定解除する方法があるはずです。

たとえば、今私はこれを行っています:

function __destruct()
{
  unset($this->variable1);
  unset($this->variable2);
  //et cetera
}

確かに、それらをリストせずにすべての設定を解除する方法はありますか?

4

1 に答える 1

7
foreach ($this as &$value) {
    $value = null;
}

http://www.php.net/manual/en/language.oop5.iterations.phpを参照してください。

プロパティはすべきではありませんunset。それらはクラス/オブジェクトの一部です。null値をクリアするには、代わりに に設定します。しかし: とにかくオブジェクトはメモリ不足であり、すべてのプロパティがそれに伴います。これを行う必要はありません。

于 2011-07-07T01:58:07.577 に答える