函数运行后函数中的变量会被销毁吗?
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?
}
}
答案 0 :(得分:0)
是的,它将被“销毁”,以便它可以重用它所占用的内存。
答案 1 :(得分:0)
关于$x
:是的,它将在B::C()
完成运行后进行垃圾收集。
关于$this->F1()->C()
:F1
方法本身不会被销毁,但它返回的B
实例将在F2
完成运行后销毁。