函数运行后函数中的变量会被破坏吗?

时间:2012-04-22 21:47:24

标签: php class memory

函数运行后函数中的变量会被销毁吗?

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?
   }
}

2 个答案:

答案 0 :(得分:0)

是的,它将被“销毁”,以便它可以重用它所占用的内存。

答案 1 :(得分:0)

关于$x:是的,它将在B::C()完成运行后进行垃圾收集。

关于$this->F1()->C()F1方法本身不会被销毁,但它返回的B实例将在F2完成运行后销毁。