例如:
我有一个用$object = new stdClass();
创建的对象,它被传递给一个函数。
我的问题是,是否释放了为此对象分配的内存,如果是 时它被释放。
同样如何检查这些内存更改。
我现在手动unset($object);
,只是为了安全。
答案 0 :(得分:2)
在脚本执行结束时销毁对象。你可以尝试一下:
<?php
class Test
{
function __construct()
{
echo "Construct";
}
function __destruct()
{
echo "Destruct";
}
}
$test = new Test();
?>
在浏览器中调用此脚本时,您将获得Construct和Destruct输出,该输出证明在脚本执行结束时对象已成功销毁。
答案 1 :(得分:2)
php是一个情节事件。每次加载网页时,代码都是从头开始运行的(在正常设置下,我会遗漏像memcached和facebook的解决方案)。这意味着内存被分配,页面被发送,然后内存被释放。取消对象基本上对你没什么用,因为程序很快就会结束。