0

関数の実行後に関数内の変数は破棄されますか?

class B {
   function C() {
       $x = "123456";
       echo "XXX".$x;
       // After this function is finished, will $x be destroyed by default to save memory in PHP?
   }
}
class A {
   function F1() {
       return new Class_B();
   }

   function F2() {
       $this->F1()->C();
       // After this function is finished, will F1 be destroyed by default to save memory and CPU in PHP?
   }
}
4

2 に答える 2

0

はい、使用したメモリを再利用できるように「破棄」されます。

于 2012-04-22T21:53:20.763 に答える
0

について$x:はい、実行終了後にガベージコレクションの対象となりますB::C()

について$this->F1()->C()F1メソッド自体は破棄されませんが、Bそれによって返されたのインスタンスはF2実行終了後に破棄されます。

于 2012-04-22T21:54:33.843 に答える